home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / mapl0831.zip / M-PC0831.MRG < prev    next >
Text File  |  1992-08-31  |  83KB  |  2,341 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against E:\RBBS\STOCK\RBBS-PC.BAS to produce E:\RBBS\CHAT\RBBS-PC.BAS
  3. * E:\RBBS\STOCK\RBBS-PC.BAS:  Date 6-20-1992  Size 147219 bytes
  4. * ------------[ Created 08-31-1992 21:14:42 ]------------
  5. * REPLACING old line(s) by new
  6. 29 ' **************************************************************************
  7.    '
  8.    ' $INCLUDE: 'RBBS-VAR.BAS'
  9.    '
  10.    ' $SUBTITLE: 'Main-line RBBS-PC Program'
  11.     ZCrLf$ = CHR$(13) + CHR$(10)
  12.     WasJ = 60
  13.     DIM ZOptSec(WasJ)
  14.     ZConfigFileName$ = "RBBS-PC.DEF"
  15.     CALL GetCommand (ZDebug,ZNetTime$,ZNetBaud$,ZNetReliable$)
  16.     ZSubParm = -62
  17.     ZBulletinMenu$ = ""
  18.     CALL ReadDef (ZConfigFileName$)
  19.     IF ZErrCode > 0 THEN _
  20.        GOTO 31
  21. * ------[ first line different ]------
  22.     GOTO 100
  23. * REPLACING old line(s) by new
  24. 100 CLEAR,,ZSizeOfStack
  25. * ------[ first line different ]------
  26.     ZCanANSIChat = ZFalse                                            ' DD071301/ANSICHAT
  27.     CALL VarInit
  28.     IF ZErrCode > 0 THEN _
  29.        GOTO 31
  30.     OrigUpgradeSec = ZAutoUpgradeSec
  31.     OrigMainSec = ZMinLogonSec
  32.     CALL BreakFileName (ZOrigMsgFile$,Drive$,OrigMsgName$,ZWasY$,ZFalse)
  33.     IF OrigMsgName$ = "MESSAGES" THEN _
  34.        OrigMsgName$ = "MAIN" _
  35.     ELSE IF RIGHT$(OrigMsgName$,1) = "M" THEN _
  36.             OrigMsgName$ = LEFT$(OrigMsgName$,LEN(OrigMsgName$)-1)
  37.     ConfFileName$ = OrigMsgName$
  38.     OrigNewsFileName$ = ZWelcomeFileDrvPath$ + _
  39.               OrigMsgName$ + ".NWS"
  40.     ZNewsFileName$ = OrigNewsFileName$
  41.     IF ZNetMail$ <> "NONE" AND VAL(ZNetTime$) > 0 THEN _
  42.        ZLimitMinsPerSession = VAL(ZNetTime$)
  43.     IF ZNetMail$ <> "NONE" AND VAL(ZNetBaud$) > 0 THEN _
  44.        ZExpectActiveModem = ZTrue : _
  45.         IF NOT ZKeepInitBaud THEN _
  46.           ZModemInitBaud$ = ZNetBaud$
  47.         IF ZFossil THEN _
  48.        ZComPort = VAL(RIGHT$(ZComPort$,1)) - 1 : _
  49.        IF ZComPort < 0 THEN _
  50.           GOTO 108 _
  51.        ELSE CALL FOSinit(ZComPort,Result) : _
  52.             IF Result = -1 THEN _
  53.                ZSnoop = ZTrue : _
  54.                CALL PScrn("ERROR INITIALIZING FOSSIL") : _
  55.                GOTO 204
  56. * REPLACING old line(s) by new
  57. * ------[ first line different ]------
  58. 108 Call Line108           'Pe 07/25/92
  59.  
  60. '
  61. ' *****  TEST FOR MESSAGE FILE PRESENT (Abort IF NOT PRESENT)  ****
  62. '
  63. * DELETING old line(s)
  64. 112
  65. * REPLACING old line(s) by new
  66. 150 IF ZSubBoard THEN _
  67.        GOSUB 12987 : _
  68.        GOSUB 5135 : _
  69.        GOTO 170
  70.     ZSysopAvail = VAL(MID$(ZMsgRec$,32,2))
  71.     ZSysopAnnoy = VAL(MID$(ZMsgRec$,34,2))
  72.     ZSysopNext = VAL(MID$(ZMsgRec$,36,2))
  73.     MID$(ZMsgRec$,36,2) = STR$(ZFalse)
  74.     ZPrinter = VAL(MID$(ZMsgRec$,38,2))
  75.     IF ZTurnPrinterOff THEN _
  76.        ZPrinter = ZFalse
  77.     ZExitToDoors = (MID$(ZMsgRec$,40,2) = "-1" AND ZNetBaud$ = "" _
  78.                     AND INSTR(COMMAND$," LOCAL") = 0)
  79.     ZEightBit = VAL(MID$(ZMsgRec$,42,2))
  80. * ------[ first line different ]------
  81.     ZBPS = VAL(MID$(ZMsgRec$,44,2))
  82.     ZSnoop = VAL(MID$(ZMsgRec$,58,2))
  83.     MID$(ZMsgRec$,57,1) = "I"
  84.     ZPrivateDoor = (MID$(ZMsgRec$,72,2) = "-1")
  85.     IF ZPrivateDoor THEN _
  86.        ZHasPrivDoor = ZTrue
  87.     MID$(ZMsgRec$,72,2) = STR$(ZFalse)
  88.     ZLocalUser = (MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$) OR _
  89.                  ZLocalUserMode
  90.     IF ZExitToDoors OR ZPrivateDoor THEN _
  91.        ZHasDoored = ZTrue : _
  92.        ZTurboLogon = ZTrue
  93.     PUT 1,ZNodeRecIndex
  94.     GOSUB 12985
  95.     GET 1,1
  96.     CallsToDate! = VAL(MID$(ZMsgRec$,11,10))
  97.     IF CallsToDate! < 11 THEN _
  98.        CALL CopyRight
  99. '
  100. * DELETING old line(s)
  101. 160
  102. * REPLACING old line(s) by new
  103. 175 GOSUB 5344
  104.     CALL CountLines (MaxEntries)
  105.     REDIM ZCategoryName$(MaxEntries),ZCategoryCode$(MaxEntries),_
  106.           ZCategoryDesc$(MaxEntries)
  107.     CALL InitFMS (ZNumCategories)
  108.     ZMaxMsgLines = ZMaxMsgLinesDef
  109.     IF (NOT ZLocalUser) AND (NOT ZSubBoard) THEN _
  110.        CALL OpenCom (ZModemInitBaud$,",N,8,1")
  111.     IF NOT ZSubBoard THEN _
  112.        CALL SetEcho (ZDefaultEchoer$)
  113.     ZNodeWorkFile$ = ZNodeWorkDrvPath$ + _
  114.                       "NODE" + _
  115.                       ZNodeFileID$ + _
  116.                       "WRK"
  117. * ------[ first line different ]------
  118.     ZBatchWorkFile$ = ZNodeWorkDrvPath$ + _   'Pe BatchUp mod
  119.                       "NODE" + _              'Pe BatchUp mod
  120.                       ZNodeFileID$ + _        'Pe BatchUp mod
  121.                       "BCH"                   'Pe BatchUp mod
  122.     ZSecsPerSession! = ZMinsPerSession * 60!
  123.     LogIndex = 1
  124.     IF NOT ZLocalUserMode THEN _
  125.        IF NOT ZExitToDoors THEN _
  126.           GOTO 180 _
  127.        ELSE IF NOT ZLocalUser THEN _
  128.                GOTO 180
  129.     ZLocalUser = ZTrue
  130.     ZBPS = -9              'Pe 08/01/92
  131.     ZBaudTest! = 14000     'Pe 08/01/92
  132.     ZCBaud$ = "14400"      'Pe 08/01/92
  133.     ZCBPS = -9             'Pe 08/01/92
  134.     ZEightBit = ZTrue
  135.     ZSnoop = ZTrue
  136.     IF ZExitToDoors THEN _
  137.        CALL AMorPM : _
  138.        CALL ReadProf : _
  139.        GOTO 410
  140.     GOSUB 178
  141.     GOTO 345
  142. * REPLACING old line(s) by new
  143. 178 IF NOT ZSubBoard THEN _
  144.        RETURN
  145.     IF ZNewUser THEN _
  146.        GOSUB 758
  147. * ------[ first line different ]------
  148.        IF OrigFirstName$ = ZSysopFirstName$ AND _                 'Dgs-ALias
  149.           ZLastName$ = ZSysopLastName$ THEN _
  150.              RETURN 832 _
  151.        ELSE RETURN 790
  152. * REPLACING old line(s) by new
  153. 202 ZFF = -ZSubParm
  154.     ON ZFF GOTO 10595, _   '  -1 = CARRIER DROPPED
  155.                  4770, _   '  -2 = SYSOP INITIATED CHAT
  156.                   205, _   '  -3 = FORCE SYSTEM TO ANSWER THE PHONE
  157.                   204, _   '  -4 = EXIT TO DOS IMMEDIATELY
  158. * ------[ first line different ]------
  159.                   204, _   '  -5 = EXIT TO DOS AFTER CLEAN-UP      'Pe 06/25/92
  160.                 10698, _   '  -6 = INDICATE ACCESS IS DENIED AND LOGOFF USER
  161.                 10620      '  -7 = UPDATE CALLERS FILE AND LOGOFF USER
  162. * DELETING old line(s)
  163. 203
  164. * REPLACING old line(s) by new
  165. 206 CALL TimedOut
  166. * ------[ first line different ]------
  167.     GOTO 204                                                   'Pe 06/25/92
  168. * REPLACING old line(s) by new
  169. 345 CALL SayWelcome ("", 1)             'Pe 08/01/92
  170. * REPLACING old line(s) by new
  171. 346 GOSUB 466
  172.     IF ZSubParm = -1 THEN _
  173.        GOTO 13540
  174.     ZFF = ZFalse
  175. * ------[ first line different ]------
  176. '********** Delete all the files in ARKVIEW.PATH$ **********
  177. '***********************************************************
  178. 'First create a Dummy file so the directory is not empty. It
  179. 'avoids having to use an ON ERROR routine if the directory
  180. 'is empty. Then just kill everything in the ARKVIEW.PATH$
  181. '***********************************************************
  182. CALL OpenOutW (ZArkViewPath$ + "DANDAN.DAN")
  183.     CLOSE 2
  184.   CALL KillWork (ZArkViewPath$ + "*.*")
  185. '
  186. '
  187. '
  188. ' *****  GET USER NAME
  189. ' *****  C - COMMAND FROM NEWUSER REGISTER OPTIONS (CHANGE NAME OR ADDRESS)
  190. '
  191. * REPLACING old line(s) by new
  192. 400 CALL SkipLine(1)
  193.     ZEscapeInsecure = ZFalse
  194.     ZUpperCase = ZFalse
  195.     CALL SetExpert
  196.     WasA1$ = "What is your "
  197.     CALL FlushCom (ZWasDF$)
  198.     GOSUB 12500
  199.     CALL CommInfo
  200.     IF ZFF THEN _
  201.        ZLogonErrorIndex = 1 : _
  202.        GOTO 10620
  203.     IF ZMinOldCallerBaud > ZBaudTest! THEN _
  204.        CALL QuickTPut1 ("Sorry," + STR$(ZBaudTest!) + " BPS not allowed") : _
  205.        ZWasLG$(7) = "OLD CALLER BAUD RESTRICTION" : _
  206.        ZLogonErrorIndex = 7 : _
  207.        GOTO 10620
  208.     LogIndex = 4 - (ZLenIndiv > 0 AND ZStartIndiv > 0)
  209. * ------[ first line different ]------
  210.     ZTurboLogon = (LEFT$(ZUserIn$(LogIndex),1) = "!")
  211.     SkipWelcomeScreen = (LEFT$(ZUserIn$(LogIndex),1) = "$")
  212.  
  213. '    ZHomeConf$ = RIGHT$(ZUserIn$(LogIndex),LEN(ZUserIn$(LogIndex)) _
  214. '                     + (ZTurboLogon OR SkipWelcomeScreen))
  215. '    CALL AllCaps(ZHomeConf$)
  216. ' Pe Test
  217.  
  218. '
  219. ' *****  CHECK IF SAME USER ON ANOTHER NODE   ***
  220. '
  221. * REPLACING old line(s) by new
  222. 420 IF MID$(ZMsgRec$,57,1) = "A" THEN _
  223.        ZLogonErrorIndex = 6 : _
  224.        ZWasLG$(6) = ZWasLG$(6) + _
  225.                 LEFT$(ZMsgRec$,25) : _
  226.        ZOutTxt$ = "The name '" + ZActiveUserName$ + _
  227.                   "' is in use on another node" : _
  228.        CALL RingCaller : _
  229.        GOTO 10620
  230.     ZFirstName$ = LEFT$(ZMsgRec$,INSTR(ZMsgRec$, " ") - 1)
  231.     IF NOT ZPrivateDoor THEN _
  232.        CALL SkipLine (1) : _
  233. * ------[ first line different ]------
  234.        CALL QuickTPut1 (ZFirstName$ + ", welcome back!")
  235.     IF ZExitToDoors THEN _
  236.        GOTO 457
  237. '
  238. ' *****  TEST FOR REMOTE SYSOP LOGGING ON   ***
  239. '
  240. * REPLACING old line(s) by new
  241. 462 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
  242.        CALL CompDate (ZUserRegYY,ZUserRegMM,ZUserRegDD,UserComputeDate!) : _
  243.        ZRegDaysRemaining = UserComputeDate! + _
  244.                             ZDaysInRegPeriod - _
  245.                             TodayComputeDate! : _
  246.        CALL ExpireDate (UserComputeDate!,ZDaysInRegPeriod,ZExpirationDate$) _
  247.     ELSE ZDaysInRegPeriod = 0
  248.     IF NOT ZPrivateDoor THEN _
  249.        IF ZRegDaysRemaining < 0 AND ZDaysInRegPeriod > 0 THEN _
  250.        IF ZUserSecLevel > ZTempExpiredSec THEN _
  251.           CALL QuickTPut1 (ZWasLG$(9) + _
  252. * ------[ first line different ]------
  253.                       " - security level set to " + _
  254.                       STR$(ZTempExpiredSec)) : _
  255.           CALL BufFile(ZHelpPath$+"RGXPIRD"+ZHelpExtension$,WasX) : _
  256.           ZLogonErrorIndex = 9 : _
  257.           ZUserSecLevel = ZTempExpiredSec : _
  258.           LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  259.           GOSUB 5135
  260.     RETURN
  261. '
  262. ' ***  DISPLAY LOG-ON MESSAGE FOR SPECIFIC SECURITY LEVEL  **
  263. '
  264. * REPLACING old line(s) by new
  265. * ------[ first line different ]------
  266. 465 ZTurboLogon = ZTurboLogon AND (ZExitToDoors OR _
  267.                   (ZUserSecLevel >= ZAllowCallerTurbo))
  268.     IF ZTurboLogon THEN _
  269.        RETURN
  270.     ZFileName$ = ZWelcomeFileDrvPath$ + _
  271.                  "LG" + _
  272.                  UserSecLevel$ + _
  273.                  ".DEF"
  274. * REPLACING old line(s) by new
  275. 480 CALL SetSysOp
  276. * ------[ first line different ]------
  277. '    IF ZPrivateDoor OR (ZWasA AND ZEscapeInsecure) OR ZDoorSkipsPswd
  278. IF ZPrivateDoor OR (ZWasA AND ZEscapeInsecure) OR ZExitToDoors THEN _ 'Pe 01/03/90
  279.        ZWasZ$ = ZPswdSave$ : _
  280.        ZPswdFailed = 0 : _
  281.        GOTO 644
  282.     ZSubParm = 4
  283.     CALL PassWrd
  284.     LogonPswdFailed = ZPswdFailed
  285.     ZAnsIndex = LogIndex
  286. * REPLACING old line(s) by new
  287. 660 GOTO 800
  288. * REPLACING old line(s) by new
  289. 700 ZExpertUser = ZFalse
  290.     CALL SetExpert
  291.     IF ZMinNewCallerBaud > ZBaudTest! THEN _
  292.        CALL QuickTPut ("Sorry," + STR$(ZBaudTest!) + _
  293.                        " BPS only for registered users",1) : _
  294.        ZWasLG$(7) = "NEW CALLER BAUD RESTRICTION" : _
  295.        ZLogonErrorIndex = 7 : _
  296.        GOTO 10620
  297.     CALL QuickTPut1 ("User not found")
  298.     ZLastIndex = 0
  299.     GOSUB 12558
  300.     IF ZNo THEN _
  301.        GOSUB 13700 : _
  302.        GOTO 400
  303.     CALL Line25
  304.     ZWasZ$ = ZFirstName$
  305.     GOSUB 670
  306.     ZWasZ$ = ZLastName$
  307.     GOSUB 670
  308.     ZWasZ$ = ZActiveUserName$
  309.     GOSUB 670
  310. * ------[ first line different ]------
  311.     ZTurboLogon = ZFalse
  312. * REPLACING old line(s) by new
  313. 725 IF ZUserSecLevel < ZMinLogonSec THEN _
  314.        ZLogonErrorIndex = 1 : _
  315.        GOTO 460
  316.     IF ZFirstName$ = ZLastName$ THEN _
  317.        CALL QuickTPut1 (ZFirstNamePrompt$+"/"+ZLastNamePrompt$+" cannot be same") : _
  318.        ZLogonErrorIndex = 3 : _
  319.        GOTO 10620
  320.     IF NOT ZRememberNewUsers THEN _
  321.        GOSUB 13700 : _
  322.        ZUserFileIndex = 0 : _
  323.        GOSUB 12960: _
  324.        PrevLastOn$ = "00-00-00": _
  325.        GOTO 735
  326.     ZNewUser = ZTrue
  327. * ------[ first line different ]------
  328.     ZNewUserDGS = ZTrue                                           'DGS-NEW
  329.     CALL OpenUser (ZHighestUserRecord)
  330.     GOSUB 9450
  331.     GOSUB 12630
  332.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = LEFT$("NEWUSER",ZLenHash)
  333.     IF ZStartIndiv > 0 THEN _
  334.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  335.     GOSUB 9440
  336. * REPLACING old line(s) by new
  337. * ------[ first line different ]------
  338. 760 LastIndex = 0
  339.     GOSUB 755
  340.     CALL AllCaps (ZWasZ$)
  341.     LSET ZPswd$ = ZWasZ$
  342.     ZUserTextColor = 37
  343.     ZTempSecLevel = ZUserSecLevel
  344.     CALL Protocol
  345.     ZUserXferDefault$ = "N"
  346.     ZProtoPrompt$ = "None"
  347.     IF ZNewUserSetsDefaults THEN _
  348.        ZBypassTimeCheck = ZTrue : _
  349.        GOSUB 43000 : _
  350.        ZBypassTimeCheck = ZFalse : _
  351.        CALL Graphic (ZFileName$) : _
  352.        GOSUB 42805 : _
  353.        GOSUB 42700 _
  354.     ELSE ZUpperCase = ZFalse : _
  355.          ZNulls = ZFalse
  356.     ZPageLength = ZPageLengthDef
  357.     CALL SetNewUserDef
  358.     GOSUB 5135
  359.     CALL DefaultU
  360. * REPLACING old line(s) by new
  361. 800 IF ZAdjustedSecurity THEN _
  362.        GOSUB 5135
  363.     IF ZOrigCnfg$ = ZCurDef$ THEN _
  364.        ZMainUserFileIndex = ZUserFileIndex : _
  365.        ZOrigSec = ZUserSecLevel : _
  366.        ZUserSecSave = ZUserSecLevel : _
  367. * ------[ first line different ]------
  368.        OrigFirstName$ = ZFirstName$ : _                           'Dgs-ALias
  369.        ZOrigUserNameDgs$ = ZActiveUserName$ : _                   'Dgs-ALias
  370.        ZOrigUserName$ = ZActiveUserName$
  371.     ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
  372.        ((ZOrigCnfg$ <> ZCurDef$ OR NOT ZSubBoard) AND _
  373.         (NOT ZPrivateDoor) AND (NOT ZExitToDoors))
  374.     GOSUB 9500
  375. '
  376. '          Pe 06/01/91
  377. '
  378.     PrevLastOn$ = ZLastDateTimeOn$
  379.     IF ZLocalUser THEN _   
  380.        ZTalkToModemAt$ = "14400" : _            'Pe 08/01/92
  381.        ZBaudParity$ = "14400 BAUD,N,8,1" : _    'Pe 08/01/92
  382.        ZModemInitBaud$ = "14400" : _            'Pe 08/01/92
  383.        ZSnoop = ZTrue : _
  384.        ZLineFeeds = ZTrue
  385.     CALL SetCrLf
  386.     CALL SetPrompt
  387.     CALL XferType (2,ZTrue)
  388.     IF NOT ZSubBoard THEN _
  389.        BoardCheckDate$ = PrevLastOn$
  390.     CALL SetSysOp
  391.     IF ZWasA THEN _
  392.      ZActiveUserName$ = ZSysopFirstName$ + " " + ZSysopLastName$ : _ 'TS041492
  393.      ZFirstName$ = ZSysopFirstName$                                  'TS041492
  394.     IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _
  395.        CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
  396.                  " Lvl" + STR$(ZUserSecLevel) + " " + TIME$,2)
  397.     IF ZExitToDoors OR ZSubBoard THEN _
  398.        GOTO 815
  399.     GOSUB 465
  400.     Temp$ = STR$(ZBaudTest!) + MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
  401. Call SayWelcome (Temp$,3)   'Pe 08/01/92
  402.     Attempts = 0
  403.     ZWasZ$ = ZActiveUserName$ + _
  404.             " on at " + _
  405.             ZCurDate$ + _
  406.             ", " + _
  407.             ZTime$ + _
  408.             " from " + _
  409.             ZWasCI$ + _
  410.             ", " + Temp$
  411.      ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$))
  412. '
  413. ' *  ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
  414. '
  415.      WasX$ = "{" + _
  416.           HashValue$ + _
  417.           "/" + _
  418.           ZIndivValue$ + _
  419.           "}"
  420.      IF LEN(ZWasZ$) < 65 THEN _
  421.         WasX = 65 _
  422.      ELSE WasX = LEN(ZWasZ$) + 2
  423.      MID$(ZWasNG$,WasX) = WasX$
  424.      CALL Printit ("  " + ZWasZ$)
  425.      IF ZNewUser THEN _
  426.         CALL UpdtCalr ("NEWUSER",1)      'Pe 05/29/91
  427. * REPLACING old line(s) by new
  428. 815 CALL SetUserUpDn
  429.     IF ZCurDate$ <> LEFT$(ZLastDateTimeOnSave$,8) THEN  _
  430.        ZDLToday! = 0 : _
  431.        ZBytesToday! = 0
  432. * ------[ first line different ]------
  433.     IF ZExitToDoors THEN _       '08/17/91 lk fix for sxpr screwing banktime
  434.        ZBankTime = ZTempBankTime  '08/17/91 lk fixfor sxpr
  435.     CALL SetGlobalUpDn
  436.     GOSUB 827
  437.     LSET ZUserOption$ = MKI$(ZTimesLoggedOn) + _
  438.                         MID$(ZUserOption$,3)
  439.     LSET ZLastDateTimeOn$ = ZCurDate$ + _
  440.                               " " + _
  441.                               ZTimeLoggedOn$
  442.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
  443.     IF ZStartIndiv > 0 THEN _
  444.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  445.     LSET ZUserName$ = ZOrigUserName$
  446.     IF (NOT ZExitToDoors) AND NOT (ZOrigMsgFile$ = ZActiveMessageFile$ AND ZSubBoard) THEN _
  447.        CALL AutoPage
  448.     IF NOT ZSubBoard THEN _
  449.        ZOrigUserFileIndex = ZUserFileIndex
  450.     IF NOT ZConfMode THEN _
  451.        IF ZOrigDateTimeOn$ = "" THEN _
  452.           ZOrigDateTimeOn$ = ZLastDateTimeOn$ : _
  453.           ZOrigTimeLoggedOn$ = ZTimeLoggedOn$ _
  454.        ELSE ZLastDateTimeOn$ = ZOrigDateTimeOn$ : _
  455.             ZTimeLoggedOn$ = ZOrigTimeLoggedOn$
  456.     GOSUB 9440
  457.     GOSUB 12991
  458.     GOSUB 41000
  459.     CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  460.     IF ZTurboLogon THEN _
  461.        GOTO 819
  462.     IF SkipWelcomeScreen AND _
  463.        (ZUserSecLevel >= ZAllowCallerTurbo) THEN _
  464.        GOTO 816
  465.     IF NOT SameUser THEN _
  466.        ZStopInterrupts = NOT ZWelcomeInterruptable : _
  467.        ZBypassTimeCheck = ZTrue : _
  468.        ZFileName$ = ZWelcomeFile$ : _
  469.        ZDisplayAsUnit = ZTrue : _
  470.        GOSUB 1790 : _
  471.        ZDisplayAsUnit = ZFalse
  472.     ZBypassTimeCheck = ZFalse
  473.     ZStopInterrupts = ZTrue
  474. * REPLACING old line(s) by new
  475. 816 Call SayWelcome (PrevLastOn$,2)   'Pe 08/01/92
  476. * DELETING old line(s)
  477. 817
  478. * REPLACING old line(s) by new
  479. 818 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  480.     IF ZRemindProfile THEN _
  481. * ------[ first line different ]------
  482.        GOSUB 5450 : _
  483.        CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  484. * REPLACING old line(s) by new
  485. 819 CALL Trim (ZWasCI$)
  486.     IF (ZNodeRecIndex < 2) THEN _
  487.        GOTO 821
  488.     GOSUB 4910
  489.     GOSUB 24000
  490.     GET 1,ZNodeRecIndex
  491.     MID$(ZMsgRec$,1,31) = ZActiveUserName$ + _
  492.                                  SPACE$(31 - LEN(ZActiveUserName$))
  493.     MID$(ZMsgRec$,40,2) = " 0"
  494. * ------[ first line different ]------
  495.     MID$(ZMsgRec$,44,2) = STR$(ZBPS)
  496.     MID$(ZMsgRec$,55,2) = " 0"
  497.     MID$(ZMsgRec$,57,1) = "A"
  498.     MID$(ZMsgRec$,60,5) = ZTalkToModemAt$ + _
  499.                                  SPACE$(5 - LEN(ZTalkToModemAt$))
  500.     MID$(ZMsgRec$,72,2) = " 0"
  501.     MID$(ZMsgRec$,93,24) = ZWasCI$ + _
  502.                                   SPACE$(24)
  503.     PUT 1,ZNodeRecIndex
  504.     GOSUB 12985
  505. * REPLACING old line(s) by new
  506. 821 IF ZExitToDoors THEN _
  507.        IF ZTransferFunction = 3 THEN _
  508.           ZNewUser = ZTrue : _
  509. * ------[ first line different ]------
  510.           ZTurboLogon = ZFalse : _
  511.           SameUser = ZFalse : _
  512.           ZTransferFunction = 0 : _
  513.           GOTO 832 _
  514.        ELSE GOTO 832
  515.     GOSUB 1241
  516.     IF (ZSubBoard AND (ZOrigMsgFile$ = ZActiveMessageFile$)) _
  517.        OR ((ZUserSecLevel > ZMaxRegSec) AND (NOT ZNewUser)) THEN _
  518.        GOTO 832
  519.     ZWasZ$ = ZRegProgram$
  520.     ZTransferFunction = 3
  521.     CALL DoorExit (ZFalse)
  522.     ZTransferFunction = 0
  523.     GOTO 832
  524. '
  525. ' ****  ESC PRESSED ON LOCAL CONSOLE ENTERS HERE   ***
  526. '
  527. * REPLACING old line(s) by new
  528. 822 LOCATE 24,1
  529.     CALL TakeOffHook
  530.     ZLocalUser = ZTrue
  531.     ZSnoop = ZTrue
  532. * ------[ first line different ]------
  533.     ZBPS = -9                    'Pe 08/01/92
  534.     CALL CommInfo
  535.     IF NOT ZEscapeInsecure THEN _
  536.        GOTO 345
  537.     ZActiveUserName$ = ZSecretName$
  538.     ZFirstName$ = ZSysopPswd1$
  539.     ZLastName$ = ZSysopPswd2$
  540.     ZUserLogonTime! = TIMER
  541.     ZTimeLoggedOn$ = TIME$
  542.     ZLinesPrinted = 0
  543.     ZSysop = ZTrue
  544.     GOTO 457
  545. * REPLACING old line(s) by new
  546. 827 IF ZLastMsgRead > HighMsgNumber THEN _
  547. * ------[ first line different ]------
  548.        ZLastMsgRead = HighMsgNumber : _            'Pe 04/18/92
  549.        MID$(ZUserOption$,3,2) = MKI$(0)
  550.     RETURN
  551. * REPLACING old line(s) by new
  552. 850 ZSubParm = 2
  553.     CALL Line25
  554.     CALL SkipLine (1)
  555. * ------[ first line different ]------
  556.     IF ZTurboLogon THEN _
  557.        ZBulletinSave$ = ZBulletinMenu$ : _
  558.        GOSUB 9750 : _
  559.        GOTO 900
  560.     CALL CountNewFiles (BoardCheckDate$,ZMsgPtr(),LastNew,ZOutTxt$)
  561.    IF ZNewUser OR LastNew < 1 OR NOT ZNewFilesCheck THEN _       'Pe 01/02/90
  562.        GOTO 852                           'Pe 01/02/90
  563.     IF ZFMSDirectory$ <> "" THEN _
  564.        CALL QuickTPut1 (ZOutTxt$ + STR$(LastNew) + " NEW file(s) since last on") _
  565.     ELSE GOTO 852
  566.     WasL = LEN(ZDnldDrives$)
  567.     SecNum = 19
  568.     IF (NOT ZSkipFilesLogon) AND _
  569.        ZUserSecLevel >= ZOptSec(SecNum) THEN _
  570.           ZOutTxt$ = "Review new files to download ([Y],N)" : _
  571.           GOSUB 12999 : _
  572.           IF NOT ZNo THEN _
  573.              ZLastIndex = 3 : _
  574.              ZAnsIndex = 1 : _
  575.              ZWasQ = 3 : _
  576.              ZUserIn$(2) = MID$(BoardCheckDate$,1,2) + _
  577.                      MID$(BoardCheckDate$,4,2) + _
  578.                      MID$(BoardCheckDate$,7,2) : _
  579.              ZWasY$ = ZUserIn$(3) : _
  580.              CALL BreakFileName (ZFMSDirectory$,DR$,ZWasY$,WasX$,ZFalse) : _
  581.              ZUserIn$(3) = ZWasY$ : _
  582.              TimeLockExempt = ZTrue : _
  583.              GOSUB 20185 : _
  584.              ZLastIndex = 0 : _
  585.              TimeLockExempt = ZFalse
  586. * REPLACING old line(s) by new
  587. 900 ZNewUser = ZFalse
  588.     ActionFlag = (ZLogonMailLevel$ = "S")
  589.     LogonMailNew = (ZLogonMailLevel$ = "N")
  590. * ------[ first line different ]------
  591.     GOSUB 1895                                'Pe temp
  592.     IF ZActiveUserName$ = "SYSOP" AND NOT ZSysop THEN _
  593.        ZActiveUserName$ = ZOrigUserName$
  594.     LogonMailNew = ZFalse
  595.     ZSubParm = 2
  596.     CALL Line25
  597.     ZSection$ = "    "
  598.     ZOutTxt$ = ""
  599.     IF (NOT ZConfMode) AND (NOT ZSubBoard) AND NOT ZTurboLogon THEN _
  600.        MailCheckConfirm = ZTrue : _
  601.        LinkNew = ZTrue : _
  602.        GOSUB 5800
  603.     MailCheckConfirm = ZFalse
  604.     ZWasQ! = ZMinsInDoors * 60
  605.     ZMinsInDoors = 0
  606. * REPLACING old line(s) by new
  607. * ------[ first line different ]------
  608. 955 IF NOT ZTurboLogon THEN _
  609.      If NOT SkipMain Then _
  610.        GOSUB 4850 : _
  611.  IF STR$(ZLastMsgRead) < STR$(HighMsgNumber) AND ZUserSecLevel => MsgSec THEN _    'Pe 01/29/89
  612.      GOSUB 4275                                 'PEASKMAIL
  613.     SkipMain = ZFalse
  614.     ZTurboLogon = ZFalse
  615. '
  616. ' *                           COMMAND PROCESSING
  617. '
  618. * REPLACING old line(s) by new
  619. 1205 IF ZSubParm < 0 THEN _
  620.         GOTO 202
  621.      ZSubParm = 1
  622.      ZStopInterrupts = ZFalse
  623.      ZWasQ = 0
  624.      IF (NOT ConfMailJoin) AND (ZHomeConf$ = "" OR ZHomeConf$ = "MAIN") THEN _
  625.         GOTO 1209
  626. * ------[ first line different ]------
  627.      ZTurboLogon = LinkNext OR (NOT ConfMailJoin)
  628.      ConfMailJoin = ZFalse
  629.      ZFF = 8
  630.      IF ZHomeConf$ = "MAIN" THEN _
  631.         ZHomeConf$ = "M"
  632.      ZUserIn$(ZAnsIndex) = ZHomeConf$
  633.      IF LinkNext THEN _
  634.         ZUserIn$(ZAnsIndex + 1) = "R" : _
  635.         ZLastIndex = ZAnsIndex + 1
  636.      ZLastIndex = -ZLastIndex*(ZLastIndex > ZAnsIndex)-ZAnsIndex*(ZLastIndex <= ZAnsIndex)
  637.      ZAnsIndex = ZAnsIndex - 1
  638.      ZHomeConf$ = ""
  639.      ZWasQ = ZLastIndex
  640.      ZStoreParseAt = 1
  641. ZLastCommand$ = "  "
  642. '      ZLastCommand$ = "MJ"   'Pe Test
  643.      GOTO 1240
  644. * REPLACING old line(s) by new
  645. 1210 GOSUB 41000
  646.      IF ZAnsIndex < ZLastIndex THEN _
  647.         GOTO 1232
  648. * ------[ first line different ]------
  649.      CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  650.      IF ZExpertUser THEN _
  651.         GOTO 1230
  652. * REPLACING old line(s) by new
  653. 1230 CALL Line25
  654. * ------[ first line different ]------
  655.      CALL CBCheck(WillChat)                                          ' CHAT0814
  656.       IF WillChat = ZTrue Then _
  657.        GOSUB 9802 : _
  658.         GOTO 1205
  659.      CALL SaveUserActivity("I", ZNodeRecIndex, ZFalse)               ' CHAT0813
  660. * REPLACING old line(s) by new
  661. 1232 MID$(ZLastCommand$,2,1) = " "
  662.      IF ZCustomPUI THEN _
  663.         CALL UserFace : _
  664.         GOSUB 12997 : _
  665.         GOTO 1235
  666. * ------[ first line different ]------
  667.         ZOutTxt$ = ZConfName$ + ":"          'Pe 07/18/91
  668.         GOSUB 12978                          'Pe 07/18/91
  669.      CALL DispTimeRemain (MinsRemaining)     'Pe 02/03/90
  670.      ZOutTxt$ = ZCmdPrompt$
  671.      GOSUB 12930
  672.      IF ZWasQ = 0 THEN _
  673.         GOTO 1230
  674. * REPLACING old line(s) by new
  675. 1235 ZWasZ$ = ZUserIn$(ZAnsIndex)
  676.      IF ZWasZ$ = SPACE$(LEN(ZWasZ$)) THEN _
  677.         GOTO 1230
  678. * ------[ first line different ]------
  679.       CALL SearchCmd (ZSubSection,ZFF)
  680. IF ZFF > 0 THEN _                                        'PE 08/14/91
  681.       GOTO 1240                                          'PE 08/14/91
  682.      IF ZwasQ > 0 THEN _
  683.         CALL QuickTPut1 ("Unknown command <"+ZWasZ$+">") : _
  684.         CALL FlushKeys : _
  685.         GOTO 1230
  686. * DELETING old line(s)
  687. 1239
  688. * REPLACING old line(s) by new
  689. 1240 IF ZUserSecLevel < ZOptSec(ZFF) THEN _
  690.        ZViolation$ = ZSection$ + _
  691.                      " " + _
  692.                      ZWasZ$ : _
  693.         GOSUB 1380 : _
  694.         GOTO 1205
  695. * ------[ first line different ]------
  696. ZDirExtension$ = ZMainDirExtension$
  697.         ON ZFF GOSUB _
  698.                  1400, _      ' 1  A)nswer questionnaire 1
  699.                  9700, _      ' 2  B)ulletins
  700.                  1800, _      ' 3  C)omment 1800 to Sysop
  701.                  10970, _     ' 4  D)oor (exit to)
  702.                  2000, _      ' 5  E)nter a message
  703.                  1275, _      ' 6  F)ile system (exit to)
  704.                  1525, _      ' 7  I)nitial welcome redisplayed  'Pe 06/09/91
  705.                  5300, _      ' 8  J)oin a conference
  706.                  3900, _      ' 9  K)ill a message
  707.                  4700, _      '10  O)perator page
  708.                  1892, _      '11  P)ersonal mail (look for)     'Pe 02/11/89
  709.                  4330, _      '12  R)ead messages
  710.                  4340, _      '13  S)can message headers
  711.                  4320, _      '14  T)ype ASCII FILE 'Pe 02/03/90
  712.                  1285, _      '15  U)tilities (exit to)
  713.                  5800, _      '16  V)iew a conference
  714.                  9800, _      '17  W)ho's on other nodes displayed
  715.                  9801, _      '18  @ Chat routines                'Pe 01/19/92
  716.                 20160, _      '19  D)ownload
  717.                 10570, _      '20  G)oodbye
  718.                 20155, _      '21  L)ist
  719.                 20185, _      '22  N)ew
  720.                 20180, _      '23  P)ersonal files
  721.                 20175, _      '24  S)can
  722.                 20170, _      '25  U)pload
  723.                 20140, _      '26  V)iew ARC Contents
  724.                  5500, _      '27  W)ho Uploaded that file1 'Pe 08/25/91
  725.                  9099, _      '28  C)lock (time & time on)  'PE 05/31/91
  726.                  42850, _     '29  E)cho selection
  727.                  42800, _     '30  F)ile transfer protocol
  728.                  43000, _     '31  G)raphics
  729.                  5200, _      '32  L)ines per page
  730.                  10925, _     '33  M)essage margin
  731.                  5110, _      '34  P)assword change
  732.                  5450, _      '35  R)eview preferences
  733.                  4849, _      '36  S)tatistics displayed  'Pe 09/02/91
  734.                  1500, _      '37  T)oggle
  735.                  10090, _     '38  U)serlog displayed 12
  736.                  30000, _     '39  A)rchive a Library disk 1
  737.                  30000, _     '40  C)hange a Library disk
  738.                  30000, _     '41  D)ownload Library files
  739.                  10570, _     '42  G)oodbye
  740.                  30000, _     '43  L)ist a Library directory
  741.                  30000, _     '44  S)can a Library disk directory
  742.                  20140, _     '45  V)iew arc contents 7
  743.                  1325, _      '46  H)elp 1
  744.                  1330, _      '47  ?)help
  745.                  1250, _      '48  Q)uit
  746.                  4240, _      '49  X)expert toggle on/off 4
  747.                  10070, _     '50  1) List comments file 1    'Pe 09/12/91
  748.                  10090, _     '51  2) List callers file
  749.                  10390, _     '52  3) Recover a message
  750.                  20195, _     '53  4) BatchUpload Files       'Pe 09/12/91
  751.                  11000, _     '54  5) User file maintenance
  752.                   4130, _     '55  6) Toggle page bell on/off
  753.                  10930        '56  7) Exit to DOS 2.x or above 7
  754.      GOTO 1205
  755. '
  756. ' ***       NEWS file scan        ***
  757. '
  758. * REPLACING old line(s) by new
  759. 1243 ZFileName$ = ZNewsFileName$
  760.      CALL RBBSFind (ZFileName$,WasZ,WasY,ZMsgPtr,WasD)
  761.      IF WasZ <> 0 THEN _
  762.         RETURN
  763.      FDate# = WasD + (100 * ZMsgPtr) + (10000# * (WasY + 1980))
  764.      IF NewsDate# > FDate# THEN _
  765.         RETURN
  766. * ------[ first line different ]------
  767.      IF ZTurboLogon THEN _
  768.         CALL QuickTPut1("NEWS file updated since last call") : _
  769.         RETURN
  770.      ZStopInterrupts = ZFalse
  771.      GOSUB 1790
  772.      WasZ = 0
  773.      RETURN                                                          ' LP01NEWS
  774. '
  775. ' ****           QUIT COMMAND (GLOBAL)              ***
  776. '
  777. * REPLACING old line(s) by new
  778. * ------[ first line different ]------
  779. 1283  ZWasQ = 0                                                'Pe 06/25/92
  780.       GOTO 1250
  781. * REPLACING old line(s) by new
  782. * ------[ first line different ]------
  783. 1295 ZPrevPui$ = ""     'Pe 07/19/92
  784.      CALL SetSection
  785.      RETURN
  786. * REPLACING old line(s) by new
  787. 1400 WasA1$ = ZAnsMenu$
  788. * ------[ first line different ]------
  789.      ReturnToPrompt = (ZWasQ > 1)
  790. * REPLACING old line(s) by new
  791. 1500 CALL CmndToggle
  792.      RETURN
  793. '
  794. * ------[ first line different ]------
  795. '
  796. ' ****  I - COMMAND FROM MAIN MENU (DISPLAY INITIAL WELCOME)  *** 'Pe 09/02/91
  797. '
  798. * INSERTING new line(s)
  799. 1525 CALL ShowBull (UserSecLevel$)
  800. '
  801. 1596 RETURN
  802. '
  803. * DELETING old line(s)
  804. 1760
  805. * REPLACING old line(s) by new
  806. 1790 CALL Graphic (ZFileName$)
  807.      CALL BufFile (ZFileName$,WasX)
  808.      CALL Carrier
  809.      IF ZSubParm = -1 THEN _
  810.         RETURN 10595
  811.      RETURN
  812. '
  813. * ------[ first line different ]------
  814.  
  815. '
  816. ' ***  C - COMMAND FROM MAIN MENU (LEAVE COMMENT FOR SYSOP)   **
  817. '
  818. * REPLACING old line(s) by new
  819. * ------[ first line different ]------
  820. 1801 MsgTo$ = ZSysopFirstName$ + " " + ZSysopLastName$     'TS 04/14/92
  821.      Subject$ = OrigSubject$
  822.      MsgFrom$ = ZActiveUserName$
  823.      GOSUB 1893
  824.      IF (ActiveMessages >= MaxMsgs OR _
  825.         ((NOT ZMsgsCanGrow) AND _
  826.         (ZNextMsgRec + 5 + ZMaxNodes > HighestMsgRecord)) OR _
  827.         NOT ZCmntsAsMsgs ) THEN _
  828.         ZOutTxt$ = "Want a Reply?  Use "+MID$(ZAllOpts$,5,1) + _
  829.                    " instead.  Leave a comment? (Y,[N])" : _
  830.         GOSUB 12999 : _
  831.         IF NOT ZYes THEN _
  832.            CALL SkipLine (1) : _
  833.            RETURN _
  834.         ELSE ZSysopComment = ZTrue : _
  835.              GOTO 2007
  836.      ZSysopComment = ZFalse
  837.      ZSysopMsg = ZTrue
  838.      ZMsgHeader$ = "comment"
  839.      GOTO 2010
  840. * REPLACING old line(s) by new
  841. 1850 WasBX = &H3
  842.      ZWasEN$ = ZCmntsFile$
  843.      GOSUB 12992
  844.      CALL OpenWorkA (ZCmntsFile$)
  845.      ZOutTxt$ = ZFirstName$ + _
  846.           ", Thanks for comments!"
  847.      GOSUB 12976
  848.      CALL AMorPM
  849.      CALL PrintWorkA (ZActiveUserName$+" "+ZCurDate$+" "+ZTime$+" Node "+ZNodeID$)
  850.      FOR WasX = 1 TO ZLinesInMsg
  851.         CALL PrintWorkA (ZOutTxt$(WasX))
  852.      NEXT
  853.      CALL PrintWorkA (ZCarriageReturn$)
  854.      CLOSE 2
  855.      IF ZErrCode <> 0 THEN _
  856.         ZWasEL = 1850 : _
  857.         GOTO 13000
  858.      WasBX = &H3
  859.      ZWasEN$ = ZCmntsFile$
  860.      GOSUB 12993
  861.      CALL UpdtCalr ("Left comment",1)
  862.      REDIM ZOutTxt$(ZMsgDim)
  863. * ------[ first line different ]------
  864. IF ZLogOff$ = "G" THEN
  865. GetOut = Ztrue
  866.  Zlogoff$ = "L"
  867.  GOTO 10560
  868.  End IF         ' Pe 02/03/90
  869.      RETURN
  870. '
  871. ' ****  P - COMMAND FROM MAIN MENU (DISPLAY PERSONAL MAIL)  ****
  872. '
  873. * INSERTING new line(s)
  874. 1892 GOSUB 1900                                  'Pe 02/11/89
  875.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)   'Pe 02/11/89
  876.      RETURN                                      'Pe 02/11/89
  877. * REPLACING old line(s) by new
  878. * ------[ first line different ]------
  879. 1895 IF ZTurboLogon THEN _
  880.         RETURN
  881.      ZOutTxt$ = "Check mail in " + ZConfName$ + " ([Y],N)"
  882.      GOSUB 12999
  883.      IF ZNo THEN _
  884.         SkipMain = ZTrue : _
  885.         RETURN
  886.      ZUserIn$(0) = LEFT$("NEW ",-4*LogonMailNew)
  887. * REPLACING old line(s) by new
  888. * ------[ first line different ]------
  889. 2065 ZOutTxt$ = "         |...25 characters Max....> " + _       'ER052601
  890.      ZPressEnter$                                                'ER052601
  891.      CALL ColorPrompt (ZOutTxt$)                                 'ER052601
  892.      ZSubParm = 5                                                'ER052601
  893.       Call TPut                                                  'ER052601
  894.  IF Subject$ <> "" THEN _
  895.         ZOutTxt$ = "Change subject from " + _
  896.              Subject$ + _
  897.              " to" _
  898.      ELSE ZOutTxt$ = "Subject"
  899.      ZMacroMin = 99
  900.      ZParseOff = ZTrue
  901.      GOSUB 12932
  902.      IF LEN(ZUserIn$) > 25 THEN _
  903.         ZOutTxt$ = ZFirstName$ + ", 25 characters MAX" : _      'Pe 05/29/92
  904.         GOSUB 12979 : _
  905.         GOTO 2065
  906.      IF ZWasQ = 0 THEN _
  907.         IF Subject$ <> "" THEN _
  908.            RETURN _
  909.         ELSE GOSUB 2435 : _
  910.              IF ZYes THEN _
  911.                 RETURN 5160 _
  912.              ELSE GOTO 2065
  913.      Subject$ = ZUserIn$
  914.      CALL AllCaps (Subject$)
  915.      OrigSubject$ = Subject$
  916.      RETURN
  917. '
  918. ' *****  ENTER MAIN BODY OF MESSAGE  ****
  919. '
  920. '
  921. * REPLACING old line(s) by new
  922. * ------[ first line different ]------
  923. 2100  IF ZGetExtDesc Then Goto 2120
  924.  CALL SaveUserActivity("M", ZNodeRecIndex, ZFalse)               ' CHAT0813
  925.      IF NOT ZFullScreenEditor Then 
  926.        ZOutTxt$ = "Use the ANSI Screen Editor (Y,[N])"
  927.         GOSUB 12930
  928.           IF NOT ZYes THEN _
  929.         GOTO 2120
  930.       End If
  931. * INSERTING new line(s)
  932. 2110 CALL Ansied (MsgTo$, OrigSubject$, MsgLockLines)
  933.      I = ZSubParm
  934.      CALL SkipLine (1)
  935.      IF I = -2 THEN      ' Sleep Disconnect
  936.         GOTO 10590
  937.      ELSEIF I = -1 THEN  ' Lost Carrier
  938.         GOTO 10595
  939.      ELSEIF I = 1 THEN   ' Save Message
  940.         GOTO 3400
  941.      ELSEIF I = 2 THEN   ' Abort Message
  942.         GOTO 2430
  943.      END IF
  944. 2120 ZOutTxt$ = "Enter Your " + _
  945.           ZMsgHeader$ + _
  946.           STR$(ZMaxMsgLines) + _
  947.           " Lines max" + _
  948.           ZPressEnter$
  949.      GOSUB 12975
  950.      GOSUB 3200
  951. * REPLACING old line(s) by new
  952. * ------[ first line different ]------
  953. 2530 ZOutTxt$ = "Delete lines " + STR$(Mark1) + "-" + _
  954.         MID$(STR$(Mark2),2) + " (Y,[N],L)ist)"
  955.      GOSUB 12930
  956.      Temp$ = ZUserIn$(ZAnsIndex)
  957.      CALL AllCaps(Temp$)
  958.      IF Temp$ = "L" THEN GOTO 2522
  959.      IF NOT ZYes THEN _
  960.         ZOutTxt$ = "NOT Deleted" : _
  961.         GOSUB 12979 : _
  962.         GOTO 2555
  963. * REPLACING old line(s) by new
  964. 3020 IF ZGetExtDesc THEN WasL = 1
  965. * ------[ first line different ]------
  966.      FOR WasX = WasL TO ZLinesInMsg 
  967.         CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
  968.         IF ZNo OR ZRet THEN _
  969.            WasX = ZLinesInMsg + 1 _
  970.         ELSE ZOutTxt$ = RIGHT$(STR$(WasX),2) + _
  971.                   ": " + _
  972.                   ZOutTxt$(WasX) : _
  973.              GOSUB 12979
  974.      NEXT
  975.      RETURN
  976. '
  977. ' *****  CHANGE MARGIN WIDTH   ****
  978. '
  979. * REPLACING old line(s) by new
  980. 3405 IF ZSysopMsg THEN _
  981.         MsgPswd$ = "^READ^" _
  982.      ELSE Temp$ = MsgPswd$ : _
  983.           CALL MsgProt (MsgTo$,Found,MsgPswd$) : _
  984.           IF MsgPswd$ = "" THEN _
  985.              MsgPswd$ = Temp$ : _
  986. * ------[ first line different ]------
  987.               IF ZFullScreenEditor THEN _      'lk 03/23/92
  988.              GOTO 2110 _                   'lk 03/23/92
  989.           ELSE GOTO 2300                   'lk 03/23/92
  990.      SaveReplyStatus = ZReply
  991.      ZReply = ZTrue
  992.      ZSysopMsg = ZFalse
  993.      ZReply = SaveReplyStatus
  994.      GOSUB 4910
  995.      MsgRecSave$ = ZMsgRec$
  996.      MsgCorrected = ZFalse
  997.      GOSUB 23100
  998.      ZWasSL = 0
  999.      ZWasN$ = ""
  1000.      ZLastIndex = 0
  1001.      HighMsgNumber = HighMsgNumber + 1
  1002. '
  1003. '
  1004. 'find out if toss log has been opened for node
  1005. '
  1006. '
  1007. * INSERTING new line(s)
  1008. 3406 IF ZRBBSName$ = ZOrigRBBSName$ THEN _  'lk 022092
  1009.      GOTO 3410     
  1010. TossLog$ = "Toss"+ZNodeFileID$+".LOG"
  1011. TossFile$ = ZRBBSName$
  1012. CALL FindIt (Tosslog$)    'LK 033191
  1013.      IF NOT ZOK THEN _     'LK 033191
  1014.       GOTO 3407 
  1015.       CALL OpenWork (2,TossLog$)
  1016.       Found = ZFalse
  1017.       GOSUB 3408    
  1018.       IF Found THEN _
  1019.       GOTO 3410
  1020.       GOTO 3409
  1021. 3407 CALL OpenOutW (TossLog$)    'LK 033191
  1022.      PRINT #2, TossFile$         'Lk 021992
  1023.      CLOSE 2
  1024.      GOTO 3410
  1025. 3408  IF EOF(2) THEN _
  1026.          RETURN
  1027.       INPUT #2,TossList$
  1028.       IF TossFile$ <> TossList$ THEN _
  1029.          GOTO 3408
  1030.       Found = ZTrue
  1031.       RETURN
  1032. 3409 CALL OpenWorkA (TossLog$)
  1033.      CALL PrintWorkA (TossFile$)  'Lk 021992
  1034.      CLOSE 2
  1035. * REPLACING old line(s) by new
  1036. 3650 QuotedReply = ZFalse
  1037.      MsgLockLines = 0
  1038.      IF ZReply OR MsgFwd THEN _
  1039.         ZReply = ZFalse : _
  1040.         ZAnsIndex = SaveAnsIndex : _
  1041.         GOTO 5344
  1042.      IF ZGetExtDesc THEN _
  1043.         ZLinesInMsg = 0
  1044. * ------[ first line different ]------
  1045. If ZLogOff$ = "G" Then
  1046. Getout = Ztrue
  1047. ZLogoff$ = "L"
  1048. Goto 10560
  1049. End If                                              'Pe 02/03/90
  1050.      RETURN
  1051.  
  1052. '
  1053. ' ****  K - COMMAND FROM MAIN MENU (KILL MESSAGE)  ***
  1054. '
  1055. * REPLACING old line(s) by new
  1056. 3930 ZOutTxt$ = "Msg #(s) to Kill" + LEFT$(", M)arked",-9*(ZMarkedMsgs$ <> "")) + ZPressEnterExpert$
  1057.      GOSUB 12932
  1058.      IF ZWasQ = 0 THEN _
  1059.         RETURN
  1060.      GOSUB 1893
  1061. * ------[ first line different ]------
  1062.      ZWasZ$ = ZUserIn$(ZAnsIndex)
  1063.      CALL UnMarkItems (ZMarkedMsgs$,ZAnsIndex,ZLastIndex,Found,ZTrue)
  1064. * REPLACING old line(s) by new
  1065. 3950 GOSUB 5344
  1066. * ------[ first line different ]------
  1067.  CALL KillMsg (MsgToKill,ActiveMessages,ZconfName$)   'Pe 02/03/90
  1068. * REPLACING old line(s) by new
  1069. 4240 CALL Toggle(9)
  1070.      RETURN
  1071. * ------[ first line different ]------
  1072. * INSERTING new line(s)
  1073. 4275 'IF NOT ZConfMode then Return   'Tom Hazle mod
  1074.    If ZUserSecLevel < ZOptSec(12) Then Return          'Pe 08/30/92
  1075.    ZOutTxt$ = "There are New Message since last call, Read them now ? ([Y],N) "
  1076.      GOSUB 12999                            'JABASKMAIL
  1077. 4279 IF NOT ZNO THEN _                            'JABASKMAIL
  1078.      ZLastIndex = 2 : _               'Pe 11/05/89
  1079.      ZAnsIndex = 1 : _                'Pe 11/05/89
  1080.      ZWasQ = 2 : _                    'Pe 11/05/89
  1081.      ZUserIn$(2) = "*" :_             'Pe 11/05/89
  1082.      GOTO 4330                        'Pe 11/05/89
  1083.      RETURN                            'JABASKMAIL
  1084. '
  1085. '
  1086. '**** T)ype ASCII file *****   Pe/10/22/89
  1087. '
  1088. * REPLACING old line(s) by new
  1089. * ------[ first line different ]------
  1090. 4320     ZLastIndex = Q 
  1091.          ZAnsIndex = 1  
  1092.          CALL TypeFile 
  1093.          RETURN
  1094.  
  1095. '
  1096. ' ****  R - COMMAND FROM MAIN MENU (READ MESSAGES)  ****
  1097. '
  1098. * REPLACING old line(s) by new
  1099. 4360 ZWasLG$(11) = ZWasZ$
  1100.      NumMsgsSelected = ZLastIndex
  1101.      MsgIndex = ZAnsIndex
  1102.      ZLastIndex = 0
  1103.      AddressedToUser = ZFalse
  1104.      ToRequested = ZFalse
  1105.      FromRequested = ZFalse
  1106.      LinkNext = ZFalse
  1107. * ------[ first line different ]------
  1108.      CALL SaveUserActivity("M", ZNodeRecIndex, ZFalse)               ' CHAT0813
  1109. * REPLACING old line(s) by new
  1110. 4380 WasA1$ = "Msg #" + _
  1111.            STR$(LowMsgNumber) + _
  1112.            "-" + _
  1113.            MID$(STR$(ZMsgPtr(ActiveMessages,2)),2) + _
  1114.            " (H)lp,S)ince,L)ast" + _
  1115.            LEFT$(",G)lobal",8*(ZLinkedConf$ ="" OR ZGlobalRead)+8)
  1116. * ------[ first line different ]------
  1117.      CALL SkipLine (-QuickScanMsgs)                                  ' KG062301
  1118.      IF ZGlobalRead THEN _
  1119.         CALL QuickTPut1 ("Reading globally")
  1120.      IF AddressedToUser OR ToRequested OR FromRequested THEN _
  1121.         ZWasY$ = LEFT$("TO",-2*(ToRequested OR AddressedToUser)) + _
  1122.              LEFT$("/",-AddressedToUser) + _
  1123.              LEFT$("FROM",-4*(FromRequested OR AddressedToUser)) : _
  1124.         CALL QuickTPut1 ("Include only msgs "+ZWasY$+" you.  Read what msgs (? for help)") _
  1125.      ELSE WasA1$ = WasA1$ + ",T)o,F)rom,M)" : _
  1126.           IF ReadMsgs AND ZMarkedMsgs$ <> "" THEN _
  1127.              WasA1$ = WasA1$ + "arked" _
  1128.           ELSE WasA1$ = WasA1$ + "ine"
  1129.      IF SearchString$ = "" THEN _
  1130.         WasA1$ = WasA1$ + _
  1131.              ", text" _
  1132.      ELSE CALL QuickTPut1 ("Include only msgs with text " + SearchString$ + ".  Read what msgs (? for help)")
  1133. * REPLACING old line(s) by new
  1134. 4418 ZWasA = INSTR("FfTt",ZUserIn$(ZAnsIndex))
  1135.      IF ZWasA > 0 THEN _
  1136.         ToRequested = (ZWasA > 2) : _
  1137.         FromRequested = (ZWasA < 3) : _
  1138.         GOTO 4370
  1139.      IF CurMsg = 0 THEN _
  1140.         IF SearchHeader$ <> "" THEN _
  1141.            GOTO 4370 _
  1142.         ELSE SearchString$ = ZUserIn$(ZAnsIndex) : _
  1143.              SearchCt = 0 : _
  1144.              CALL AllCaps (SearchString$) : _
  1145.              CALL Remove (SearchString$,CHR$(34) + CHR$(39)) : _
  1146.              SearchHeader$ = SearchString$ : _
  1147.              SubInHeader$ = SearchHeader$ : _
  1148.              GOTO 4370
  1149. * ------[ first line different ]------
  1150.      CALL SkipLine (-ReadMsgs)                                       ' KG062301
  1151. * REPLACING old line(s) by new
  1152. * ------[ first line different ]------
  1153. 4552 IF ZMsgDimIndex = WasXXX THEN _
  1154.         CALL Carrier : _
  1155.         GOTO 4637
  1156. * REPLACING old line(s) by new
  1157. 4563   CurMsg = VAL(MID$(ZMsgRec$,2,4))
  1158.        IF ToRequested THEN _
  1159.           IF NOT MsgToCaller THEN _
  1160.              GOTO 4629
  1161.        IF FromRequested THEN _
  1162.           IF NOT MsgFromCaller THEN _
  1163.              GOTO 4629
  1164.        IF AddressedToUser AND NOT UserInHeader THEN _
  1165.           GOTO 4629
  1166.        WasX$ = MID$(ZMsgRec$,121,2)
  1167.        IF WasX$ = "  " THEN _
  1168.           MsgSec = ZMinLogonSec _
  1169.        ELSE MsgSec = CVI(WasX$)
  1170. * ------[ first line different ]------
  1171.        IF ZUserSecLevel < MsgSec THEN _
  1172.           GOTO 4629
  1173. * REPLACING old line(s) by new
  1174. 4581   IF MID$(ZMsgRec$,116,1) = ZDeletedMsg$ THEN _
  1175.           GOTO 4630
  1176. * ------[ first line different ]------
  1177.        ZJustSearching = ZFalse      'Pe 05/30/91
  1178.        IF SearchHeader$ <> "" THEN _
  1179.           ZFF = INSTR(ZMsgRec$,SearchHeader$) : _
  1180.           IF ZFF >= MsgStart AND ZFF <= MsgEnd THEN _
  1181.              HiLitePos = ZFF : _
  1182.              SearchCt = 0 : _
  1183.              GOTO 4582 _
  1184.           ELSE IF ReadMsgs AND SearchString$ <> "" THEN _
  1185.                   ZJustSearching = ZTrue : _    'Pe 05/30/91
  1186.                   GOTO 4582 _
  1187.                ELSE GOTO 4629
  1188. * REPLACING old line(s) by new
  1189. 4600   IF ScanMsgs THEN _
  1190.           GOSUB 8020 : _
  1191.           GOTO 4630
  1192. * ------[ first line different ]------
  1193.        IF NOT ZJustSearching THEN _
  1194.           GOSUB 8000 : _
  1195.           IF QuotedReply THEN _
  1196.              QuotedReply = ZFalse : _
  1197.              GOTO 4602
  1198.        IF ZRet THEN _
  1199.           GOTO 4630
  1200.        CanChangeSec = (ZUserSecLevel => ZSecChangeMsg)
  1201.        ShowKill =  - ((ZUserSecLevel >= ZOptSec(9)) AND (UserInHeader OR CanKill))
  1202.      If ZNewUserDgs = ZTrue then ShowKill= ZFalse  'Dgs-NEw
  1203.        IF ZExpertUser THEN _
  1204.           WasA1$ = ",H" + _
  1205.                 MID$(",R",1,- (ZUserSecLevel >= ZOptSec(5)) * 2) + _
  1206.                 ",T,M,=,+,-" + _
  1207.                 MID$(",F",1,- (UserInHeader OR CanChangeSec) * 2) + _
  1208.                 MID$(",K",1,ShowKill * 2) + _
  1209.                 MID$(",U",1,- (ZUserSecLevel >= ZOptSec(54)) * 2) + _
  1210.                 MID$(",S",1, - CanChangeSec * 2) : _
  1211.           GOTO 4601
  1212.        GOSUB 4617
  1213. * REPLACING old line(s) by new
  1214. * ------[ first line different ]------
  1215. 4601   ' ZTurboKey = -ZTurboKeyUser
  1216.        IF ZJustSearching OR NOT JustReplied THEN _
  1217.           GOTO 4602
  1218.        JustReplied = ZFalse
  1219.        CALL AskMore (WasA1$,ZTrue,ZFalse,ZAnsIndex,ZFalse)
  1220.        CALL SkipLine (1)
  1221.        IF ZNo THEN _
  1222.           RETURN
  1223.        CALL AllCaps (ZUserIn$(1))
  1224.        ZReply = (ZReply OR ZUserIn$(1) = "R")
  1225.        IF ZUserIn$(1) <> "=" THEN _
  1226.           GOTO 4605
  1227.        CALL SkipLine (1)
  1228. * REPLACING old line(s) by new
  1229. * ------[ first line different ]------
  1230. 4603  IF NOT ZJustSearching THEN _               'Pe 02/05/90
  1231.       CALL QuickTPut (ZFG2$+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+ZEmphasizeOff$,1)
  1232.        GOSUB 9000
  1233.        JustReplied = ZFalse
  1234.        DontPrint = ZFalse
  1235.        IF ZJustSearching THEN _
  1236.           GOTO 4629
  1237.        IF ZAnsIndex > NumMsgsSelected THEN _
  1238.           GOTO 4650
  1239.        CALL SkipLine (1)
  1240.        GOSUB 41000
  1241.        ZKillMessage = ZFalse
  1242.        ZReply = ZFalse
  1243. * REPLACING old line(s) by new
  1244. 4606   IF NOT (UserInHeader OR CanChangeSec) THEN _   ' Forward
  1245. * ------[ first line different ]------
  1246.           GOTO 4620
  1247.        MsgFwd = ZTrue
  1248.        GOTO 4623
  1249. * REPLACING old line(s) by new
  1250. 4607   IF ZUserSecLevel < ZOptSec(54) THEN _    ' User edit
  1251.           GOTO 4620
  1252.        EditFromRead = 1
  1253.        ZReply=ZTrue
  1254.        CALL PutMsgAttr
  1255.        TempHashValue$ = MsgFrom$
  1256.        CALL Trim (TempHashValue$)
  1257.        IF TempHashValue$ = "SYSOP" THEN _
  1258. * ------[ first line different ]------
  1259.               TempHashValue$ = ZSecretName$
  1260.        GOTO 11000
  1261. * REPLACING old line(s) by new
  1262. * ------[ first line different ]------
  1263. 4611   IF ((UserInHeader and NOT ZNewUserDgs) OR CanKill) THEN _     ' Kill Dgs-new
  1264.          IF ZUserSecLevel >= ZOptSec(9) THEN _
  1265.             CALL PutMsgAttr : _
  1266.             MsgToKill = CurMsg : _
  1267.             Temp = ZWasQ : _
  1268.             GOSUB 3950 : _
  1269.             CALL GetMsgAttr : _
  1270.             GOTO 4629 _
  1271.          ELSE ZViolation$ = "MORE KILL" : _
  1272.               GOSUB 1380 : _
  1273.               GOTO 4629
  1274.        GOTO 4620
  1275. * REPLACING old line(s) by new
  1276. 4617   WasA1$ = ",H)lp" + _
  1277. * ------[ first line different ]------
  1278.                 MID$(",R)ply",1, - (ZUserSecLevel >= ZOptSec(5)) * 6) + _ ' PE040501
  1279.                 ",T)hrd,M)rk,=,+,-" + _
  1280.                 MID$(",F)wd",1, - (UserInHeader OR CanChangeSec) * 5) + _
  1281.                 MID$(",K)ill",1, ShowKill * 6) + _
  1282.                 MID$(",U)sr",1,- (ZUserSecLevel >= ZOptSec(54)) * 6) + _
  1283.                 MID$(",S)ec",1, - CanChangeSec * 5)
  1284.        RETURN
  1285. * REPLACING old line(s) by new
  1286. 4624   QuotedReply = ZTrue
  1287.        ZLinesInMsg = ZLinesInMsg - 1
  1288.        IF HiLitedLine > 0 THEN _
  1289.           ZOutTxt$(HiLitedLine) = ZOutTxt$(0) : _
  1290.           HiLitedLine = 0
  1291.        IF MsgFwd THEN _
  1292.           TempRightMargin = ZRightMargin _
  1293.        ELSE _
  1294.           TempRightMargin = ZRightMargin - 2
  1295.        CALL WordWrap (TempRightMargin,ZLinesInMsg,ZOutTxt$())
  1296.        IF ZLinesInMsg > ZMsgDim THEN _
  1297.           ZLinesInMsg = ZMsgDim : _
  1298.           CALL QuickTPut1 ("Original msg truncated to " + _
  1299.                       STR$(ZMsgDim) + " lines for editing!")
  1300.        IF MsgFwd THEN GOTO 4625
  1301.        FOR WasX = 1 TO ZLinesInMsg
  1302.           IF LEFT$(ZOutTxt$(WasX),1) = ">" THEN _
  1303.              ZOutTxt$(WasX) = ">" + ZOutTxt$(WasX) _
  1304.           ELSE ZOutTxt$(WasX) = "> " + ZOutTxt$(WasX)
  1305.        NEXT
  1306. * ------[ first line different ]------
  1307.  
  1308. * REPLACING old line(s) by new
  1309. 4626   ZWasZ$ = "L"
  1310.        WasL = 1
  1311. * ------[ first line different ]------
  1312. '************************* AnsiEd244 Mods ***********************
  1313.  IF ZFullScreenEditor THEN
  1314.       GOSUB 2110
  1315.      GOTO 4628
  1316.   End IF
  1317. '
  1318. IF NOT ZFullScreenEditor Then   
  1319.    ZOutTxt$ = "Use the ANSI full screen editor (Y,[N])"
  1320.     GOSUB 12930
  1321.       IF ZYES THEN 
  1322.        GOSUB 2110
  1323.        ELSE
  1324.           IF ZLinesInMsg >= ZMaxMsgLines THEN _
  1325.              CALL QuickTPut ("Message Must Be Shorter Than" + _
  1326.                          STR$(ZMaxMsgLines) + " Lines...",1)
  1327.        IF NOT MsgFwd THEN _
  1328.        CALL QuickTPut1 ("Please delete unneeded lines, then [C] continues reply")
  1329.        GOSUB 3200
  1330.        GOSUB 3020
  1331.        GOSUB 2300
  1332.        End IF
  1333.       End If
  1334.        GOTO 4628
  1335. * REPLACING old line(s) by new
  1336. * ------[ first line different ]------
  1337. 4631   IF NOT Forward AND NOT Reverse THEN _                         ' KG062301
  1338.           GOTO 4370                                                  ' KG062301
  1339.         CALL CheckCarrier                                            ' KG062301
  1340.        IF ZSubParm THEN _
  1341.           RETURN 10595
  1342.        IF ZRet THEN _
  1343.           RETURN
  1344. * REPLACING old line(s) by new
  1345. 4650 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  1346. * ------[ first line different ]------
  1347.      CALL SkipLine (1)
  1348.      CALL QuickTPut1 ("--End Msgs--")
  1349.      CALL DelayTime (1)          'Pe 02/03/90
  1350.      RETURN
  1351. * REPLACING old line(s) by new
  1352. 4661 WasY = (ASC(MID$(ZMsgRec$,116,1)) = 225)
  1353.      IF FirstActive = 0 THEN _
  1354.         IF WasY THEN _
  1355.            FirstActive = LOC(1)
  1356.      GOSUB 4662
  1357.      GET 1
  1358.      CALL ChkIfMsgHeader
  1359.      IF NOT ZOK THEN _
  1360.         ZNumHeaders = WasI
  1361. * ------[ first line different ]------
  1362.      IF MsgToCaller AND ((NOT WasY) OR (ZUserSecLevel < ZSecKillAny)) THEN _
  1363.         CurrHeaderRecNum = LOC(1) - 1 _
  1364.      ELSE WasI = WasI + 1 : _
  1365.           IF WasI <= ZNumHeaders THEN _
  1366.               GOTO 4661 _
  1367.           ELSE IF FirstActive > 0 THEN _
  1368.                   CurrHeaderRecNum = FirstActive
  1369.      GET 1, CurrHeaderRecNum
  1370.      UserInHeader = (MsgFromCaller OR MsgToCaller)
  1371.      RETURN
  1372. * REPLACING old line(s) by new
  1373. 4665 CALL Trim (MsgFrom$)
  1374.      ZOutTxt$ = "Change sender's name from " + _
  1375.         MsgFrom$ + _
  1376.         " to"
  1377.      GOSUB 12995
  1378.      IF ZWasQ = 0 THEN _
  1379.         GOTO 4666
  1380.      IF LEN(ZUserIn$) > 30 THEN _
  1381. * ------[ first line different ]------
  1382.         CALL QuickTPut1 ("30 Chars max") : _
  1383.         GOTO 4665
  1384.      CALL AllCaps (ZUserIn$)
  1385.      MsgFrom$ = ZUserIn$
  1386. * REPLACING old line(s) by new
  1387. 4666 CALL Trim (MsgTo$)
  1388.      ZOutTxt$ = "Change receiver's name from " + _
  1389.         MsgTo$ + _
  1390.         " to"
  1391.      GOSUB 12995
  1392.      IF ZWasQ = 0 THEN _
  1393.         GOTO 4667
  1394.      IF LEN(ZUserIn$) > 30 THEN _
  1395. * ------[ first line different ]------
  1396.         CALL QuickTPut1 ("30 Chars max") : _
  1397.         GOTO 4666
  1398.      CALL AllCaps (ZUserIn$)
  1399.      MsgTo$ = ZUserIn$
  1400.      TempMsgTo$ = ZUserIn$
  1401.      CALL SetWhoTo (ZFalse,MsgTo$,MsgFrom$,RcvrRecNum,Found)
  1402.      IF MsgTo$ = "" THEN MsgTo$ = TempMsgTo$
  1403. * REPLACING old line(s) by new
  1404. 4667 CALL Trim (Subject$)
  1405.      ZOutTxt$ = "Change subject from " + _
  1406.         Subject$ + _
  1407.         " to"
  1408.      GOSUB 12995
  1409.      IF ZWasQ = 0 THEN _
  1410.         GOTO 4668
  1411.      IF LEN(ZUserIn$) > 25 THEN _
  1412. * ------[ first line different ]------
  1413.         CALL QuickTPut1 ("25 Char. Max") : _
  1414.         GOTO 4667
  1415.      CALL AllCaps (ZUserIn$)
  1416.      Subject$ = ZUserIn$
  1417. * REPLACING old line(s) by new
  1418. 4700 IF NOT ZSysopAvail THEN _
  1419.         ZOutTxt$ = "Sorry, " + _
  1420.              ZSysopFirstName$ + _
  1421. * ------[ first line different ]------
  1422.              " not available now" : _
  1423.         GOSUB 12979 : _
  1424.         GOTO 4755
  1425. * INSERTING new line(s)
  1426. 4707 GOTO 4750                                                    'Pe 02/03/90
  1427. * REPLACING old line(s) by new
  1428. 4710 ZOutTxt$ = "Page " + _
  1429.           ZSysopFirstName$ + _
  1430.           " (Y,[N])"
  1431.      CALL SkipLine (1)
  1432.      GOSUB 12999
  1433.      IF NOT ZYes THEN _
  1434.         RETURN
  1435.      PageCount = 0
  1436. * ------[ first line different ]------
  1437.      ZOutTxt$ = "Paging " + _
  1438.           ZSysopFirstName$
  1439.      GOSUB 12978
  1440.      PageTimeStart! = TIMER
  1441.      TempSnoop = ZSnoop
  1442.      ZSnoop = ZTrue
  1443.      CALL Line25
  1444. * REPLACING old line(s) by new
  1445. 4755 CALL QuickTPut1 ("Leave a msg or comment")
  1446. * ------[ first line different ]------
  1447.       PagedFileName$ = "PAGED.DEF"              'Pe 02/03/90
  1448.       Call BufFile (PagedFileName$,WasX)        'Pe 02/03/90
  1449.      ZPageStatus$ = "PG!"
  1450.      CALL UpdtCalr ("Operator paged " + LEFT$(TIME$,5),2)
  1451.      RETURN
  1452. * REPLACING old line(s) by new
  1453. 4765 CALL UpdtCalr ("Paged & chatted with Sysop",1)
  1454. * ------[ first line different ]------
  1455.          ZPageStatus$ = ""
  1456.      ZSysopGreeting$ = "SysOp in!  " + ZFirstName$ + ", this is " + _ ' DD062801/ANSICHAT
  1457.                        ZSysopFirstName$ + ", go ahead!"             ' DD062801/ANSICHAT
  1458. * REPLACING old line(s) by new
  1459. * ------[ first line different ]------
  1460. 4770 IF ZCanANSIChat = ZTrue THEN                                   ' DD071301/ANSICHAT
  1461.         CALL ANSIChat                                               ' DD062801/ANSICHAT
  1462.      ELSE                                                           ' DD062801/ANSICHAT
  1463.         CALL SkipLine (1)                                           ' DD062801/ANSICHAT
  1464.         CALL QuickTPut1 (ZSysopGreeting$)                           ' DD062801/ANSICHAT
  1465.         CALL SysopChat                                              ' DD062801/ANSICHAT
  1466.      END IF                                                         ' DD062801/ANSICHAT
  1467.      IF ZSubParm < 0 THEN _
  1468.         GOTO 202
  1469.      RETURN
  1470. '
  1471. ' ****  S - COMMAND FROM UTILITY MENU (STATISTICS)  ***  'Pe 09/02/91
  1472. '
  1473. * INSERTING new line(s)
  1474. 4849 GOSUB 4850         'PE 02/10/89
  1475.     CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)   'PE 02/10/89
  1476.      RETURN             'PE 02/10/89
  1477. * REPLACING old line(s) by new
  1478. * ------[ first line different ]------
  1479. 4850 CALL Statistics (CallsToDate!,ActiveMessages,HighMsgNumber,HighestMsgRecord,CurUserCount,MaxMsgs)
  1480.      RETURN
  1481. '
  1482. * DELETING old line(s)
  1483. 4855
  1484. 4857
  1485. * REPLACING old line(s) by new
  1486. * ------[ first line different ]------
  1487. 4905 IF NOT ZTurboLogon THEN _
  1488.         GOSUB 1790
  1489. * REPLACING old line(s) by new
  1490. 4910 GOSUB 12986
  1491.      GOSUB 5344
  1492.      IF LOF(1) = 0 THEN _
  1493.         ZWasDF$ = ZActiveMessageFile$ : _
  1494.         CLOSE 1 : _
  1495.         KILL ZActiveMessageFile$ : _
  1496.         GOSUB 12987 : _
  1497.         RETURN 13600
  1498.      GOSUB 23000
  1499.      RETURN
  1500. '
  1501. * ------[ first line different ]------
  1502. ' ****  P - COMMAND FROM UTILITY MENU (PASSWORD CHANGE)  ***
  1503. '
  1504. * REPLACING old line(s) by new
  1505. 5280 CALL BreakFileName (ZActiveMsgFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue)
  1506.      WasX$ = UserDrvPath$ + _
  1507.              ZConfName$ + _
  1508.              "U.DEF"
  1509.      CALL FindIt (WasX$)
  1510.      IF NOT ZOK THEN _
  1511. * ------[ first line different ]------
  1512.         CALL BreakFileName (ZActiveUserFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  1513.         WasX$ = UserDrvPath$ + _
  1514.                 ZConfName$ + _
  1515.                 "U.DEF"
  1516.      RETURN
  1517. * REPLACING old line(s) by new
  1518. 5300 WasA1$ = ZConfMenu$
  1519.      CALL BreakFileName (ZActiveMessageFile$,MsgDrvPath$,WasX$,ZWasY$,ZTrue)
  1520. * ------[ first line different ]------
  1521. * REPLACING old line(s) by new
  1522. 5301 ZStackC = ZTrue
  1523.      CALL SubMenu ("Join what, L)ist M)ain N)ext, all/mail S)ince P)ers, or name ([Q]uit)",_
  1524.          WasA1$,MsgDrvPath$,"M.DEF",",M,MAIN,N,S,P,Q,", _
  1525.          ZTrue,ZFalse,ZFalse,"C.DEF",WasX,ZFalse)
  1526.      IF ZWasQ = 0 THEN _
  1527.         RETURN
  1528. * ------[ first line different ]------
  1529.      ZActiveUserName$ = ZOrigUserNameDgs$                         'Dgs-ALias
  1530.      ZFirstName$ = OrigFirstName$                                 'Dgs-ALias
  1531.      IF ZSubParm = -1 THEN _
  1532.         RETURN 10595
  1533. * REPLACING old line(s) by new
  1534. 5323 IF ZWasZ$ = "MAIN" THEN _
  1535.         ZWasZ$ = "M"
  1536.      WasX = (ZWasZ$ = "M")
  1537.      IF ZWasZ$ = ConfNameSave$ OR (WasX AND ZConfName$ = "MAIN") THEN _
  1538.         CALL QuickTPut1 ("You are already in " + ZWasZ$) : _
  1539. * ------[ first line different ]------
  1540.   GOSUB 2350 : _                                                     ' Pe042592
  1541.         RETURN
  1542.      ON INSTR("MNSPQ",ZWasZ$) GOTO 5350,5290,5292,5294,10550
  1543.      IF NOT ZOK THEN _
  1544.         GOTO 5300
  1545.      CLOSE 2
  1546. '
  1547. ' ****  UPDATE PREVIOUS MESSAGE BASE CHECKPOINT RECORD  ***
  1548. '
  1549. * REPLACING old line(s) by new
  1550. 5328 WasX$ = ZConfName$ + _
  1551.           "C.DEF"
  1552.      CALL FindIt (WasX$)
  1553.      ZSubBoard = ZOK
  1554.      IF NOT ZSubBoard THEN _
  1555.         CALL BreakFileName (ZMainMsgFile$,MsgDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  1556.         WasX$ = MsgDrvPath$ + WasX$ : _
  1557.         CALL FindIt (WasX$) : _
  1558.         ZSubBoard = ZOK
  1559.      IF ZSubBoard THEN _
  1560.         IF LEN(ZConfName$) = 6 THEN _
  1561.            IF LEFT$(ZConfName$,4) = "RBBS" AND RIGHT$(ZConfName$,1) = "P" THEN _
  1562.               ZSubBoard = ZFalse
  1563.      IF NOT ZSubBoard THEN _
  1564.         GOSUB 5280 : _
  1565.         ZFileName$ = ZWelcomeFileDrvPath$ + _
  1566.                      ZConfName$ + _
  1567.                      "W.DEF" _
  1568.         ELSE CALL ReadDef (WasX$) : _
  1569.              IF ZErrCode > 0 THEN _
  1570.                 CALL UpdtCalr ("Error"+STR$(ZErrCode)+" reading config file "+WasX$,2) : _
  1571.                 ZErrCode = 0 : _
  1572.                 ZInConfMenu = ZFalse : _
  1573.                 ZOutTxt$ = "error reading subboard" : _
  1574.                 GOTO 5341 _
  1575.              ELSE WasX$ = ZMainUserFile$ : _
  1576.                   ZFileName$ = "" : _
  1577.                   CALL FindIt (ZMainMsgFile$) : _
  1578.                   IF NOT ZOK THEN _
  1579.                      ZOutTxt$ = "msg file missing for" : _
  1580.                      ZInConfMenu = ZFalse : _
  1581.                      GOTO 5341 _
  1582.                   ELSE ZActiveMessageFile$ = ZMainMsgFile$ : _
  1583.                        GOSUB 5343
  1584.      UpdateDate = ZTrue
  1585.      CALL FindIt (WasX$)
  1586.      IF ZOK THEN _
  1587.         GOTO 5330
  1588. '
  1589. ' *****  NO USER FILE - A PUBLIC CONFERENCE   ****
  1590. '
  1591.      ZMainUserFile$ = PrevMainUser$
  1592.      IF (ZUserSecLevel < AutoAddSec) THEN _
  1593.         GOTO 5340
  1594.      GOTO 5345
  1595. * ------[ first line different ]------
  1596. '
  1597. ' ****  CHECK CONFERENCE USER'S FILE  ***
  1598. '
  1599. * REPLACING old line(s) by new
  1600. 5335 IF Found THEN _
  1601.         GOSUB 9500 : _
  1602.         ZMainUserFileIndex = -(ZSubBoard * ZUserFileIndex)_
  1603. * ------[ first line different ]------
  1604.                          -((NOT ZSubBoard) * ZMainUserFileIndex) : _
  1605.         Temp = -(ZSubBoard * ZMinLogonSec) _
  1606.                -((NOT ZSubBoard) * AutoAddSec) : _
  1607.         GOSUB 5135 : _
  1608.         GOSUB 5296 : _
  1609.         WasI = (ZUserSecLevel < OrigMainSec) : _
  1610.         WasJ = (ZUserSecLevel < Temp) : _
  1611.         WasK = (WasI AND WasJ) : _
  1612.         IF WasK THEN _
  1613.            ZOutTxt$ = "you have been locked out of" : _
  1614.            GOTO 5341 _
  1615.         ELSE GOSUB 5375 : _
  1616.              GOTO 5345
  1617. '
  1618. ' **** USER NOT FOUND.  AUTO-ADD TO SUBBOARD IF SUFFICIENT SECURITY ***
  1619. '
  1620.      ZNewUser = ZTrue
  1621.      IF ZSubBoard THEN _
  1622.         AutoAddSec = ZMinLogonSec
  1623.      IF (ZOrigSec >= AutoAddSec) AND _
  1624.         (ZUserFileIndex > 0) AND (ZMainUserFileIndex > 0) THEN _
  1625.         LSET ZUserRecord$ = UserRecordHold$ : _
  1626.         CALL QuickTPut1 ("MEMBER privileges granted in " + ZConfName$) : _
  1627.         MID$(ZUserOption$,3,2) = MKI$(0) : _
  1628.         MID$(ZUserOption$,1,2) = MKI$(0) : _
  1629.         ZActiveUserName$ = LEFT$(UserRecordHold$,30) : _
  1630.         CALL Trim (ZActiveUserName$) : _
  1631.         Temp = -(ZSubBoard * ZDefaultSecLevel) _
  1632.                -((NOT ZSubBoard) * ZUserSecSave) : _
  1633.         CALL SetSysOp : _
  1634.         Temp = -(ZWasA * ZSysopSecLevel) - ((NOT ZWasA) * Temp) : _
  1635.         LSET ZSecLevel$ = MKI$(Temp) : _
  1636.         ZUserSecLevel = Temp : _
  1637.         GOSUB 5375 : _
  1638.         ZPageLength = ZPageLengthDef : _
  1639.         GOSUB 12986 : _
  1640.         GOSUB 12630 : _
  1641.         UpdateDate = ZTrue : _
  1642.         Found = ZTrue : _
  1643.         GOTO 5335
  1644.      IF ZOrigSec >= AutoAddSec THEN _
  1645.         CALL QuickTPut1 ("GUEST privileges granted in " + ZConfName$) : _
  1646.         ZActiveUserFile$ = PrevUser$ : _
  1647.         UpdateDate = ZFalse : _
  1648.         ZUserFileIndex = PrevIndex : _
  1649.         GOSUB 5382 : _
  1650.         ZUserFileIndex = 0 : _
  1651.         GOTO 5345
  1652.      ZNewUser = ZFalse
  1653. * REPLACING old line(s) by new
  1654. 5340 IF ZInConfMenu THEN _
  1655. * ------[ first line different ]------
  1656.         ZOutTxt$ = "conference NOT availble " _    ' Pe 04/24/92
  1657.      ELSE ZOutTxt$ = "no such option"
  1658. * REPLACING old line(s) by new
  1659. * ------[ first line different ]------
  1660. 5341 ZOutTxt$ = ZConfName$ + " " + ZOutTxt$
  1661. '
  1662. ' ****  CANNOT JOIN THE REQUESTED CONFERENCE.  THEREFORE, GO BACK  ***
  1663. '
  1664.      GOSUB 1397
  1665.      ZConfName$ = PrevConfName$
  1666.      ConfFileName$ = ZConfName$
  1667.      IF ZSubBoard THEN _
  1668.         CALL ReadDef (PrevDef$)
  1669.      ZActiveMessageFile$ = PrevMsg$
  1670.      GOSUB 5343
  1671.      ZUserFileIndex = PrevIndex
  1672.      ZActiveUserFile$ = PrevUser$
  1673.      GOSUB 5382
  1674.      ZConfMode = ConfModeSave
  1675.      GOSUB 12987
  1676.      ZAnsIndex = 0
  1677.      ZLastIndex = 0
  1678.      GOTO 5301
  1679. '
  1680. ' ****  RESTORE A MESSAGE BASE   ***
  1681. '
  1682. * REPLACING old line(s) by new
  1683. * ------[ first line different ]------
  1684. 5345 DgsStl$ = ""                                                 'Dgs-ALias
  1685.      WHILE DgsAlias$ = ""                                         'Dgs-ALias
  1686.         CALL AliasDgs (ZConfName$,ZOrigUserNameDgs$,DgsAlias$, _  'Dgs-ALias
  1687.                        DgsStl$,DgsFileName$)                      'Dgs-ALias
  1688.      WEND                                                         'Dgs-ALias
  1689.      DgsAlias$ = ""                                               'Dgs-ALias
  1690.      ZNewsFileName$ = ZWelcomeFileDrvPath$ + ZConfName$ + ".NWS"
  1691.      CALL DeLink (ZConfName$)
  1692.      ConfNameSave$ = ZConfName$
  1693.      ZConfName$ = ZConfName$ + " " + MID$("ConferenceSubboard",1-10*ZSubBoard,10)
  1694.      IF ZGlobalSysop THEN _
  1695.         ZActiveUserName$ = "SYSOP"
  1696.      ZMarkedMsgs$ = ""
  1697.      ZMarkedFiles$ = ""   'Pe 03/21/92
  1698. * REPLACING old line(s) by new
  1699. 5350 IF ZConfName$ <> "MAIN" THEN _
  1700.         CALL QuickTPut1 ("Rejoining " + OrigMsgName$)
  1701. * ------[ first line different ]------
  1702.      ZActiveUserName$ = ZOrigUserNameDgs$                         'Dgs-ALias
  1703.      ZFirstName$ = OrigFirstName$                                 'Dgs-ALias
  1704.      CALL DeLink (ZConfName$)
  1705.      ConfFileName$ = OrigMsgName$
  1706.      ZNewsFileName$ = OrigNewsFileName$
  1707.      ZTurboLogon = ZTrue
  1708.      ZMarkedMsgs$ = ""
  1709.      ZMarkedFiles$ = ""   'Pe 04/18/92
  1710.      ZWasQ = 0
  1711.      ZNewUser = ZFalse
  1712.      ZInConfMenu = ZTrue
  1713.      IF ZActiveUserName$ = "SYSOP" THEN _
  1714.             ZActiveUserName$ = ZSecretName$ : _
  1715.         CALL Trim (ZActiveUserName$)
  1716.      ZConfigFileName$ = ZOrigCnfg$
  1717.      CALL ReadDef (ZConfigFileName$)
  1718.      IF ZOrigMsgFile$ <> ZActiveMessageFile$ THEN _
  1719.         ZActiveMessageFile$ = ZOrigMsgFile$ : _
  1720.         GOSUB 5343
  1721.      IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
  1722.         GOSUB 5380 : _
  1723.         ZActiveUserFile$ = ZOrigUserFile$ : _
  1724.         ZActiveUserName$ = ZOrigUserName$ : _
  1725.         GOSUB 12598 : _
  1726.         GOSUB 12990 : _
  1727.         IF Found THEN _
  1728.            GOSUB 9500 : _
  1729.            ZMainUserFileIndex = ZUserFileIndex : _
  1730.            CALL SetPrompt : _
  1731.            CALL XferType (2,ZTrue) _
  1732.         ELSE ZUserFileIndex = 0 : _
  1733.              ZMainUserFileIndex = 0
  1734.      CALL UpdtCalr (ZActiveUserName$ +" Exited " + ZConfName$,3)  'Pe 11/07/91
  1735.      ZConfName$ = "MAIN"
  1736.      ConfNameSave$ = ZConfName$
  1737.      GOSUB 2350
  1738.      ZUplds = ZGlobalUplds
  1739.      ZDnlds = ZGlobalDnlds
  1740.      ZDLToday! = ZGlobalDLToday!
  1741.      ZBytesToday! = ZGlobalBytesToday!
  1742.      ZDLBytes! = ZGlobalDLBytes!
  1743.      ZULBytes! = ZGlobalULBytes!
  1744.      ZBankTime = ZGlobalBankTime
  1745. * REPLACING old line(s) by new
  1746. 5380 IF ZUserFileIndex < 1 THEN _
  1747.         RETURN
  1748.      IF ZAdjustedSecurity AND NOT ZSysop THEN _
  1749.         LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  1750.         ZUserSecSave = ZUserSecLevel
  1751. * ------[ first line different ]------
  1752.      IF ZSubBoard THEN _                                          'Dgs-ALias
  1753.         ZActiveUserName$ = ZOrigUserNameDgs$ : _                  'Dgs-ALias
  1754.         ZFirstName$ = OrigFirstName$                              'Dgs-ALias
  1755.      CALL UpdateU (ZFalse)
  1756.      RETURN
  1757. '
  1758. ' *****  RESTORE A USER RECORD  ****
  1759. '
  1760. * DELETING old line(s)
  1761. 5400
  1762. 5410
  1763. * INSERTING new line(s)
  1764. 5450 CALL ShowUsrProfile 'Pe 02/03/90
  1765.      RETURN
  1766. '
  1767. ' *****  Who Uploadled What from Main MEnu  ****
  1768. '
  1769. * REPLACING old line(s) by new
  1770. * ------[ first line different ]------
  1771. 5500 Call WhoDidIt
  1772.      CALL AskMore ("End of Listing",ZTrue,ZFalse,WasX,ZTrue)   'Pe 01/25/92
  1773.      Return
  1774. '
  1775. * DELETING old line(s)
  1776. 5502
  1777. * INSERTING new line(s)
  1778. 5700 RETURN 10595  'Entry point when have double nested gosub  'Pe 01/24/92
  1779. '
  1780. ' *****  V - COMMAND FROM MAIN MENU (VIEW CONFERENCES)  ****
  1781. '
  1782. * REPLACING old line(s) by new
  1783. 8030 MsgTo$ = MID$(ZMsgRec$,37,22)
  1784. * ------[ first line different ]------
  1785.      IF (ZNewUserDGS AND INSTR(MsgTo$,"NEWUSER")) THEN _          'DGS-NEW
  1786.          MsgTo$ = ZActiveUserName$                                'DGS-NEW
  1787.          CALL SmartText(MsgTo$,ZFalse,ZFalse)        'SM091908
  1788.          CALL Trim (MsgTo$)
  1789.      IF ZNumHeaders > 1 THEN _
  1790.         MsgTo$ = MsgTo$ + " et al."
  1791. * REPLACING old line(s) by new
  1792. 8050 MsgFrom$ = MID$(ZMsgRec$,6,31)
  1793.      CALL Trim (MsgFrom$)
  1794.      IF LEN(MsgFrom$) < 23 THEN _
  1795.         MsgFrom$ = MsgFrom$ + _
  1796.                         SPACE$(23 - LEN(MsgFrom$))
  1797.      IF ZUserSecLevel >= ZSecChangeMsg THEN _
  1798.         Year$ = "  Security:" + _
  1799.               STR$(MsgSec) _
  1800.         ELSE Year$ = ""
  1801.      IF MID$(ZMsgRec$,101,1) = "!" THEN _
  1802.         MID$(ZMsgRec$,1,1) = "!"
  1803.      ZOutTxt$ = ZFG1$ + "Msg #: " + _
  1804.           LEFT$(ZMsgRec$,5) + _
  1805.           Year$ + SPACE$ (22-LEN(Year$)) + ZConfName$
  1806.      Year$ = ZFG4$ + "   Sent: " + _
  1807.           MID$(ZMsgRec$,68,8) + _
  1808.           " " + _
  1809.           MID$(ZMsgRec$,59,5)
  1810.      IF NOT ZRet THEN _
  1811.         IF ReadMsgs THEN _
  1812.            CALL QuickTPut1 (ZOutTxt$): _
  1813.            WasX$ = MsgFrom$ : _
  1814. * ------[ first line different ]------
  1815.            CALL NameCaps(WasX$) : _            'SM091909
  1816.            CALL CheckColor (WasX$,SubInHeader$,ZFG2$) : _
  1817.            CALL QuickTPut1 (ZFG2$ + " From:  " + WasX$ + Year$) : _
  1818.            GOSUB 8076 : _
  1819.            WasX$ = MsgTo$ : _
  1820.            CALL NameCaps(WasX$) : _            'SM091909
  1821.            CALL CheckColor (WasX$,SubInHeader$,ZFG3$) : _
  1822.            CALL QuickTPut1 (ZFG3$ + "   To:  " + WasX$ + "  " + ZFG2$ + Year$) : _
  1823.            CALL CheckColor (Subject$,SubInHeader$,ZFG4$) : _
  1824.            CALL NameCaps(Subject$) : _            'SM091909
  1825.            ZOutTxt$ = ZFG4$ + "   Re:  " + _
  1826.                 Subject$ + ZEmphasizeOff$ : _        'SM091909
  1827.            CALL AllCaps (Subject$) _            'SM091909
  1828.         ELSE ZOutTxt$ = ZFG1$ + LEFT$(ZMsgRec$,5) + _
  1829.                   " " + _
  1830.                   MID$(ZMsgRec$,68,5) + _
  1831.                   " " + _
  1832.                   + ZFG2$ + LEFT$(MsgFrom$,18) + _
  1833.                   " -> " + _
  1834.                   + ZFG3$ + LEFT$(MsgTo$,19) + _
  1835.                   " " + _
  1836.                   + ZFG4$ + LEFT$(Subject$,24) + ZEmphasizeOff$ : _
  1837.              CALL CheckColor (ZOutTxt$,SubInHeader$,"") : _
  1838.              GOTO 8080
  1839.      IF QuickScanMsgs OR _
  1840.         ScanMsgs THEN _
  1841.            GOTO 8080 _
  1842.      ELSE GOTO 8077
  1843. * REPLACING old line(s) by new
  1844. * ------[ first line different ]------
  1845. 9000 IF NOT ZJustSearching THEN _   'Pe 05/31/91
  1846.         GOSUB 4656: _
  1847.         CALL SkipLine (1) : _
  1848.         ZLinesInMsg = 1 : _
  1849.         MsgDimXtra = 150 : _
  1850.         REDIM ZOutTxt$(MsgDimXtra) : _
  1851.         Remain$ = "" : _
  1852.         HiLitedLine = 0
  1853.      RecToRead = ZMsgPtr(ZMsgDimIndex,1) + ZNumHeaders - 1
  1854.      FOR WasX = ZNumHeaders + 1 TO VAL(MID$(ZMsgRec$,117,4))
  1855.         WasJ = 1
  1856.         RecToRead = RecToRead + 1
  1857.         GET 1, RecToRead
  1858.         IF ZJustSearching THEN _    'Pe 05/30/91
  1859.            ZOutTxt$ = ZMsgRec$ : _
  1860.            CALL AllCaps (ZOutTxt$) : _
  1861.            HiLitePos = INSTR(ZOutTxt$,SearchString$) : _
  1862.            IF HiLitePos > 0 THEN _
  1863.               SearchCt = 0 : _
  1864.               HiLiteRec = LOC(1) : _
  1865.               WasX = 9999 : _
  1866.               GOTO 9090 _
  1867.            ELSE GOTO 9090
  1868. * REPLACING old line(s) by new
  1869. 9085    IF LEFT$(ZOutTxt$,1) = ZStartOfHeader$ OR _
  1870.            LEFT$(ZOutTxt$,LEN(ZScreenOutMsg$)) = ZScreenOutMsg$ THEN _
  1871.            GOTO 9050
  1872.         ZOutTxt$(ZLinesInMsg) = ZOutTxt$
  1873.         IF Bracketed THEN _
  1874.            Bracketed = ZFalse : _
  1875.            HiLitedLine = ZLinesInMsg
  1876.         ZLinesInMsg = ZLinesInMsg + 1
  1877.         IF ZLinesInMsg > MsgDimXtra THEN _
  1878.            ZLinesInMsg = ZLinesInMsg - 1 : _
  1879.            CALL SkipLine (1) : _
  1880. * ------[ first line different ]------
  1881.            CALL QuickTPut1 ("Message too long.  Truncated to " + STR$(MsgDimXtra) + " lines!") : _
  1882.            ZOutTxt$ = "" : _
  1883.            RETURN
  1884.         IF NOT DontPrint THEN _
  1885.            CALL SmartText(ZoutTxt$,ZFalse,ZFalse) : _    'SM091910
  1886.            GOSUB 12979 : _
  1887.            IF ZRet THEN _
  1888.               ZOutTxt$ = "" : _
  1889.               RETURN _
  1890.            ELSE CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse) : _
  1891.                 IF ZNo THEN _
  1892.                    DontPrint = ZTrue
  1893.         GOTO 9050
  1894. * REPLACING old line(s) by new
  1895. 9090 NEXT
  1896.      IF DontPrint = ZTrue THEN _
  1897.         GOTO 5160
  1898. * ------[ first line different ]------
  1899.      IF ZJustSearching AND HiLitePos > 0 THEN _
  1900.         ZJustSearching = ZFalse : _                   'PE 05/30/91
  1901.         GET 1,ZMsgPtr(ZMsgDimIndex,1) : _
  1902.         GOSUB 8000 : _
  1903.         GOTO 9000
  1904.      ZOutTxt$ = ""
  1905.      RETURN
  1906. '
  1907. ' *  C - COMMAND FROM UTILITY MENU (CLOCK - TIME ON SYSTEM)
  1908. '
  1909. * INSERTING new line(s)
  1910. 9099 GOSUB 9100                          'Pe 02/11/89
  1911.      CALL BankTime
  1912.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue) 'Pe 02/11/89
  1913.      RETURN                              'PE 02/11/89
  1914. * REPLACING old line(s) by new
  1915. 9800 CALL WhosOn (ZMaxNodes)
  1916. * ------[ first line different ]------
  1917.      CLOSE 9                                                         ' CHAT0813
  1918.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue) 'Pe 02/11/89 
  1919.      GOSUB 5344
  1920.      RETURN
  1921. '***       CHAt Mod ***********
  1922. * INSERTING new line(s)
  1923. 9801 IF ZMaxNodes < 2 THEN _                                     'PECHT0603
  1924.      RETURN
  1925.      ZOutTxt$ = "CHAT with another Node  Y,[N] "
  1926.         GOSUB 12999
  1927.      IF NOT ZYes THEN _
  1928.         RETURN
  1929. 9802      CALL CBTrueChat(ZMaxNodes)
  1930.          GOSUB 5344
  1931.        RETURN
  1932. '
  1933. ' *  1 - COMMAND FROM SYSOP MENU (DISPLAY COMMENTS)
  1934. '
  1935. * REPLACING old line(s) by new
  1936. * ------[ first line different ]------
  1937. 10070 ZFileName$ = ZCmntsFile$
  1938.       IF NOT ZStopInterrupts THEN _
  1939.          ZOutTxt$ = "* Ctrl-K(^K) / ^X aborts. ^S suspends, ^Q resumes *" : _
  1940.          GOSUB 12976
  1941.       GOSUB 20150
  1942. '
  1943. ' Delete Comments added here to allow Sysops 4 command to handle BatchUploads 'Pe 09/12/91
  1944. '
  1945.    ZOutTxt$ = "Delete comments (Y,[N])"
  1946.       GOSUB 12995
  1947.       IF ZYes THEN _
  1948.          CALL OpenOutW (ZCmntsFile$)
  1949.       CLOSE 2
  1950.       RETURN
  1951. '
  1952. ' *  U - COMMAND FROM UTILITY MENU (DISPLAY USERS)
  1953. ' *  2 - COMMAND FROM SYSOP MENU (DISPLAY USERS)
  1954. '
  1955. * REPLACING old line(s) by new
  1956. * ------[ first line different ]------
  1957. 10090 ZOutTxt$ = "List - U)sers, R)ecent callers"
  1958.       ZMacroMin = 2
  1959.       CALL SkipLine (1)
  1960.       GOSUB 12930
  1961.       IF ZWasQ = 0 THEN _
  1962.          RETURN
  1963.       CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
  1964.       ON INSTR("UR",ZUserIn$(ZAnsIndex)) + 1 GOTO 10090,10096,10093
  1965. * REPLACING old line(s) by new
  1966. 10391 CALL ChangeInt (ZFalse,"Recover Msg #",0,1,9999)
  1967.       IF ZWasQ = 0 THEN _
  1968.          RETURN
  1969.       MsgToRecover = ZTestedIntValue
  1970.       GOSUB 5344
  1971.       ActionFlag = ZFalse
  1972. * ------[ first line different ]------
  1973.       CALL RecoverMsg (MsgToRecover,FirstMsgRecord,ActionFlag,ZConfName$) 'Pe 06/09/91
  1974.       MsgRecovered = MsgRecovered OR ActionFlag
  1975.       GOTO 10391
  1976. * REPLACING old line(s) by new
  1977. 10392 IF MsgRecovered THEN _
  1978.          ActionFlag = ZTRUE : _
  1979.          GOTO 1900
  1980.       RETURN
  1981. '
  1982. * ------[ first line different ]------
  1983. ' *  4 - COMMAND FROM SYSOP Now BatchUpload File in Maple Version at line 20195
  1984. '
  1985. * DELETING old line(s)
  1986. 10530
  1987. * REPLACING old line(s) by new
  1988. 10553 CALL UpdtCalr ("Time limit exceeded",1)
  1989. * ------[ first line different ]------
  1990.  CALL QuickTPut1 ("Sorry "+ZFirstName$ +" Your time limit has expired")
  1991.       GOTO 10562                                   'Pe 02/03/90
  1992. '
  1993. ' *  Q - COMMAND FROM GLOBAL FUNCTIONS
  1994. '
  1995. * REPLACING old line(s) by new
  1996. * ------[ first line different ]------
  1997. 10560 GOSUB 41000      'Pe 02/04/90
  1998.       IF ZExpertUser THEN ZLogoff$ = "L"
  1999. * INSERTING new line(s)
  2000. 10562 GOSUB 9100
  2001.       IF ZUserSecLevel < ZSecExemptFromEpilog THEN _
  2002.            ZFileName$ = ZEpilog$ : _
  2003.            GOSUB 11520
  2004.        If ZLocalUser and ZSysop Then _
  2005.           Goto 10595                              'pe 12/01/91
  2006.       IF ZLocalUserMode OR NOT ZLocalUser THEN _
  2007.          CALL UpdtCalr ("Logged off",1)
  2008.       GOTO 10595
  2009. * REPLACING old line(s) by new
  2010. * ------[ first line different ]------
  2011. 10570 GOSUB 41000    'Pe 02/04/90
  2012.      ZLogoff$ = ""
  2013. IF ZMarkedFiles$ <> "" THEN _
  2014. Call QuickTput1(ZCrLf$ + Chr$(7)+"You Have Marked Files !" + ZCrLF$)  'Pe marked mod
  2015. '
  2016. ZStopInterrupts = ZTrue                        'Pe 04/17/92
  2017. CALL BufFile(ZHelpPath$+"LOGOFF.MNU",X)        'MO 04/13/92
  2018.     ZStopInterrupts = ZFalse                   'Pe 04/17/92
  2019. IF ZTempMaxBank > 0 THEN                                             ' DD062503
  2020.    ZOutTxt$ = "Enter Choice (A,B,C,[G])"                            ' DD062503
  2021. ELSE                                                                 ' DD062503
  2022.    ZOutTxt$ =  "Enter Choice (A,C,[G])"                              ' DD062503
  2023. END IF                                                               ' DD062503
  2024.        GOSUB 12999                  'Pe 04/25/92
  2025.         CALL AllCaps (ZUserIn$)
  2026.         WasX = INSTR("ABCG",ZUserIn$)                                ' DD062503
  2027.         IF ZUserIn$ = "" THEN _
  2028.            GetOut = ZTrue : _
  2029.            GOTO 10562
  2030.     ON WasX GOTO 10571,10574,10572,10573                             ' DD062503
  2031.     GOTO 10573
  2032. * INSERTING new line(s)
  2033. 10571 RETURN
  2034. 10572 ZLogOff$ = "G"
  2035.       GetOut = ZTrue
  2036.       GOTO 1800
  2037. 10573 GetOut = ZTrue
  2038.       ZLogOff$ = "L"     'Pe 02/04/89
  2039.       GOTO 10560
  2040. 10574 GetOut = Ztrue                                                 ' DD062503
  2041.       ZLogOff$ = "L"                                                 ' DD062503
  2042.       IF ZTempMaxBank > 0 THEN _
  2043.        CALL BankTime _
  2044.         Else Call QuickTput1 ("Feature Not Available" )              'Pe 06/28/92
  2045.       GOTO 10560                                                     ' DD062503
  2046. * REPLACING old line(s) by new
  2047. 10595 CALL GetTime
  2048.       GOSUB 13700
  2049. * ------[ first line different ]------
  2050.       IF ZDnldCompleted = ZTrue AND ZAutoEnd = 1 THEN _    'AUTOLOGOFF MOD
  2051.       ZAutoLogoffReq = ZTrue : _  'Pe 10/22/91
  2052.       GOSUB 46000  'Pe 02/03/90
  2053.       ZSubParm = 0
  2054.       CALL Carrier
  2055.       IF ZSubParm = -1 THEN _
  2056.          GOTO 10597
  2057.       IF ZConfName$ = OrigMsgName$ THEN _
  2058.          GetOut = ZTrue
  2059.       IF (ZSubBoard AND (NOT GetOut) AND (NOT ZSleepDisconnect)) THEN _
  2060.          GOSUB 5380 : _
  2061.          ZHomeConf$ = "M" : _
  2062.          CALL QuickTPut1 ("Time limit exceeded in " + ZConfName$) : _
  2063.          ZSubBoard = ZFalse : _
  2064.          GOTO 1205
  2065. * REPLACING old line(s) by new
  2066. * ------[ first line different ]------
  2067. 10698 'CALL Muzak (5)
  2068.       IF ZFunctionKey = 22 THEN _
  2069.          GOTO 13545
  2070.       ZOutTxt$ = "Access denied!"
  2071.       GOSUB 12976
  2072.       CALL DelayTime (8 + ZBPS)
  2073.       GOTO 13545
  2074. '
  2075. ' *  M - COMMAND FROM UTILITY MENU (CHANGE MARGINS)
  2076. '
  2077. * REPLACING old line(s) by new
  2078. 10970 IF NOT ZDoorsAvail OR _
  2079.          (ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
  2080.          CALL QuickTPut1 ("No doors available") : _
  2081. * ------[ first line different ]------
  2082.                CALL DelayTime (8 + ZBPS) : _     'Pe 07/09/90
  2083.          RETURN
  2084.       IF ZTimeLock AND 1 AND NOT ZHasDoored THEN _
  2085.          CALL TimeLock : _
  2086.          IF NOT ZOK THEN _
  2087.             RETURN
  2088. * REPLACING old line(s) by new
  2089. 10974 WasA1$ = ZMenu$(5)
  2090. * ------[ first line different ]------
  2091.       ZStackC = ZTrue
  2092.       CALL SubMenu ("Open which door, L)ist" + ZPressEnterExpert$, _
  2093.                     WasA1$,"",".BAT","",_
  2094.                     ZTrue,ZFalse,ZFalse,"",InMenu,ZFalse)
  2095.       IF ZWasQ = 0 THEN _
  2096.          RETURN
  2097.       IF ZSubParm = -1 THEN _
  2098.          RETURN 10595
  2099. * REPLACING old line(s) by new
  2100. 10986 ZWasZ$ = ZFileName$
  2101.       CALL DoorExit (NOT InMenu)
  2102. * ------[ first line different ]------
  2103.       Call QuickTput1 ("Welcome back " + ZFirstName$ + " ...") 'Pe 12/23/91
  2104.       Return 1232      'Pe 07/12/92
  2105. '
  2106. ' *  5 - COMMAND FROM SYSOP MENU (USER FILE MAINTENANCE)
  2107. '
  2108. * REPLACING old line(s) by new
  2109. 11110   ZOutTxt$ = "D)el  F)ind  M)enu  N)ewPW  P)rnt  R)eset Grfx  C)" _
  2110. * ------[ first line different ]------
  2111.              + ZUserLocation$ + "  Q)uit"
  2112.         CALL TopPrompt
  2113.         ZOutTxt$ = "S)ecLvl  U)ser#  X)fer Cnts  T)ime Used  B)ank Acct"
  2114.         IF ZRestrictByDate THEN _
  2115.            ZOutTxt$ = ZOutTxt$ + _
  2116.                 " $)RegDate"
  2117.         GOSUB 12930
  2118.         IF NOT ScanUsers AND ZWasQ = 0 THEN _
  2119.            GOTO 11310
  2120. * REPLACING old line(s) by new
  2121. 11115   ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1)
  2122.         CALL AllCaps (ZWasZ$)
  2123. * ------[ first line different ]------
  2124.         WasX = INSTR("DNPQFSMR$UXTBC",ZWasZ$)                   'Pe 02/04/92
  2125.         IF ZWasZ$ = "" AND ScanUsers THEN _
  2126.            GOTO 12965
  2127.         ON WasX GOTO 11130,11160,11220,11320,11340,11390,11330, _
  2128.                      11400,11450,11127,11490,11420,11423,11190     'Pe 02/04/92
  2129.         GOTO 11110
  2130. * REPLACING old line(s) by new
  2131. 11160   GOSUB 12800
  2132.         GOTO 11290
  2133. * ------[ first line different ]------
  2134. * REPLACING old line(s) by new
  2135. 11390 GOSUB 11395
  2136. * ------[ first line different ]------
  2137.       LSET ZSecLevel$ = MKI$(WasOF)
  2138.       GOTO 11290
  2139. * REPLACING old line(s) by new
  2140. * ------[ first line different ]------
  2141. 11395 ZOutTxt$ = "New sec level"
  2142.       GOSUB 12932
  2143.       ZWasZ$ = ZUserIn$(ZAnsIndex)
  2144.       WasOF = VAL(ZWasZ$)
  2145.       IF WasOF > ZUserSecLevel THEN _
  2146.          WasOF = ZUserSecLevel
  2147.       RETURN
  2148. '
  2149. ' *  R - COMMAND FROM 5- USER MAINTENANCE OPTIONS (RESET USER GRAPHICS)
  2150. '
  2151. * REPLACING old line(s) by new
  2152. 11420        ' * T - COMMAND FROM 5 - TIME USED
  2153.       Temp = CVI (ZElapsedTime$)
  2154. * ------[ first line different ]------
  2155.            CALL ChangeInt (ZTrue,"Time Used",Temp,-21900,2000)
  2156.       IF ZWasQ <> 0 THEN _
  2157.          LSET ZElapsedTime$ = MKI$(ZTestedIntValue)
  2158.       GOTO 11290
  2159. * REPLACING old line(s) by new
  2160. 12310 GOSUB 12630
  2161.       GOSUB 12800
  2162. * ------[ first line different ]------
  2163.       GOSUB 11395
  2164.       ZTempSecLevel = WasOF
  2165.       CALL SetNewUserDef
  2166.       LSET ZLastDateTimeOn$ = ZCurDate$ + _
  2167.                                 " " + _
  2168.                                 ZTimeLoggedOn$
  2169.       GOSUB 12960
  2170.       CALL AllCaps (ZUserIn$)
  2171.       LSET ZCityState$ = ZUserIn$
  2172.       LSET ZElapsedTime$ = MKI$(0)
  2173.       IF ZStartHash > 1 THEN _
  2174.          MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
  2175.       IF ZStartIndiv > 1 THEN _
  2176.          MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  2177.       GOSUB 9440
  2178. * DELETING old line(s)
  2179. 12311
  2180. * REPLACING old line(s) by new
  2181. 12932 CALL PopCmdStack
  2182.       GOTO 12997
  2183. '
  2184. * ------[ first line different ]------
  2185. ' *  GET CITY AND STATE FROM NEWUSER
  2186. '
  2187. * REPLACING old line(s) by new
  2188. * ------[ first line different ]------
  2189. 13545 IF ZLocalUser and ZSysop Then _
  2190.        goto 13549                          'Pe 12/01/91
  2191.       CALL UpdateC
  2192. * REPLACING old line(s) by new
  2193. 13555 ZActiveMessageFile$ = ZOrigMsgFile$
  2194.       GOSUB 12986
  2195.       GOSUB 5344
  2196.       GET 1,ZNodeRecIndex
  2197.       MID$(ZMsgRec$,57,1) = "I"
  2198.       MID$(ZMsgRec$,40,2) = " 0"
  2199.       MID$(ZMsgRec$,72,2) = " 0"
  2200.       IF MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$ THEN _
  2201.          MID$(ZMsgRec$,101,2) = " 0"
  2202.       PUT 1,ZNodeRecIndex
  2203.       GOSUB 12985
  2204.       CLOSE 1,2,4,5
  2205.       IF NOT ZFossil THEN _
  2206.          CLOSE 3
  2207.       IF ZRecycleToDos THEN _
  2208. * ------[ first line different ]------
  2209.          GOTO 204                    'Pe 06/26/92
  2210.       RUN 100
  2211. * REPLACING old line(s) by new
  2212. 13600 CLS
  2213.       LOCATE ,,0
  2214.       CALL PScrn (ZWasDF$ + " file missing/invalid.  Run CONFIG")
  2215.       CALL DelayTime (3)
  2216. * ------[ first line different ]------
  2217.       GOTO 204                       'Pe 06/26/92
  2218. * REPLACING old line(s) by new
  2219. 20140 CALL GetArc
  2220.       IF ZSubParm = -1 THEN _
  2221. * ------[ first line different ]------
  2222.          GOTO 10595                  'PE 10/22/91
  2223.       IF ZDenyAccess THEN _
  2224.          GOTO 1386
  2225.       RETURN
  2226. '
  2227. ' * GO TO THE FILE SYSTEM TO LIST THE SYSOP'S COMMENTS
  2228. '
  2229. * REPLACING old line(s) by new
  2230. 20190 ZFileSysParm = 9
  2231. * ------[ first line different ]------
  2232.       GOTO 20200
  2233. '
  2234. ' * Go To the File System to Handle BATCH UPLOADS
  2235. '
  2236. * INSERTING new line(s)
  2237. 20195 ZFileSysParm = 10
  2238. '
  2239. * REPLACING old line(s) by new
  2240. 20200 CALL FileSystem
  2241. * ------[ first line different ]------
  2242.  IF ZDnldCompleted AND ZAutoEnd = 1 THEN _
  2243.                           GOTO 20235                   'AUTO Loggoff Mod
  2244.            ON ZFileSysParm GOTO 20205, _
  2245.                                 20210, _
  2246.                                 20215, _
  2247.                                 20220, _
  2248.                                 20225, _
  2249.                                 20230, _
  2250.                                 20235
  2251. * REPLACING old line(s) by new
  2252. 23000 GET 1,1
  2253.       HighMsgNumber = VAL(LEFT$(ZMsgRec$,8))
  2254.       AutoAddSec   = CVI(MID$(ZMsgRec$,9,2))
  2255.       CallsToDate! = VAL(MID$(ZMsgRec$,11,10))
  2256.       ZMsgSecCats$ = LEFT$("U",-(MID$(ZMsgRec$,21,1) <> "/")) + _
  2257.                      LEFT$("R",-(MID$(ZMsgRec$,22,1) <> "/")) + _
  2258. * ------[ first line different ]------
  2259.                      LEFT$("P",-(MID$(ZMsgRec$,23,1) <> "/")) + "E"
  2260.       IF ZUserSecLevel >= ZSecKillAny THEN _
  2261.           ZMsgSecCats$ = "URPE"
  2262.       IF ZMsgSecCats$ = "E" THEN _
  2263.          ZMsgSecCats$ = "UE"
  2264.       CurUserCount = VAL(MID$(ZMsgRec$,57,5))
  2265.       FirstMsgRecord = VAL(MID$(ZMsgRec$,68,7))
  2266.       ZNextMsgRec = VAL(MID$(ZMsgRec$,75,7))
  2267.       HighestMsgRecord = VAL(MID$(ZMsgRec$,82,7))
  2268.       IF ZActiveMessageFile$ = ZOrigMsgFile$ THEN _
  2269.          ZMaxNodes = VAL(MID$(ZMsgRec$,127))
  2270.       RETURN
  2271. * REPLACING old line(s) by new
  2272. * ------[ first line different ]------
  2273. 30000 RETURN
  2274. '
  2275. ' * CALCULATE TIME REMAINING FOR USER
  2276. '
  2277. * DELETING old line(s)
  2278. 30100
  2279. 30200
  2280. * REPLACING old line(s) by new
  2281. 42700 CALL SkipLine (1)
  2282. * ------[ first line different ]------
  2283.       'CALL QuickTPut1 ("TurboKey: act on 1 char command without waiting for [ENTER]")
  2284.       'ZOutTxt$ = "Want TurboKeys (Y,[N])"
  2285.       'GOSUB 12999
  2286.       ZTurboKeyUser = NOT ZYes
  2287.       CALL Toggle (8)        'Pe 05/04/92
  2288.       RETURN
  2289. '
  2290. ' *  F - COMMAND FROM UTILITY MENU (FILE Transfer DEFALUT MODE)
  2291. ' *  FILE Transfer DEFAULT SET FOR NEW USERS
  2292. '
  2293. * REPLACING old line(s) by new
  2294. * ------[ first line different ]------
  2295. 43000 ZPrevPUI$ = ""    'ANSIEd
  2296.       GOSUB 43005
  2297.       GOTO 43022
  2298. * REPLACING old line(s) by new
  2299. * ------[ first line different ]------
  2300. 43022 ZPrevPUI$ = ""                   'ANSIEd
  2301.       IF ZEmphasizeOnDef$ = "" THEN _
  2302.          RETURN
  2303.              ZOutTxt$ = "Do you want colorized prompts ("    'SM091912
  2304.       IF ZWasGR = 2 THEN _                'SM091912
  2305.          ZOutTxt$ = ZOutTxt$ + "[Y],N)" _        'SM091912
  2306.       ELSE _                        'SM091912
  2307.          ZOutTxt$ = ZOutTxt$ + "Y,[N])"            'SM091912
  2308.       GOSUB 12999
  2309.       IF ZWasGR <> 2 THEN _                'SM091912
  2310.          ZHiLiteOff = ZYes _                'SM091912
  2311.       ELSE _                        'SM091912
  2312.          ZHiLiteOff = NOT ZNo                'SM091912
  2313.       CALL Toggle(5)
  2314.       RETURN
  2315. * REPLACING old line(s) by new
  2316. 45010 ZHidden = ZTrue
  2317.       GOSUB 12995
  2318.       ZHidden = ZFalse
  2319.       RETURN
  2320. * ------[ first line different ]------
  2321. '
  2322. '  * Maple AutoLogoff Routines ***
  2323. '
  2324. * INSERTING new line(s)
  2325. 46000 ZSubParm = 1
  2326.       If ZAutoLogoffReq = ZFalse Then _
  2327.        ZAutoEnd = 0 : _
  2328.         Return 1205
  2329. ZOutTxt$ = "Press [G] for instant Logoff "
  2330.           ZTurboKey = 2
  2331.       Call TGet
  2332.        IF ZUserIn$ = "G" or ZUserIn$ = "g" THEN _
  2333.           Goto 46050
  2334.            IF ZWasQ = 0  THEN _
  2335.             CALL QuickTPut("Log Off Aborted...",1) : _
  2336.             ZAutoLogoffReq = ZFalse : _
  2337.            ZAutoEnd = 0 : _
  2338.         RETURN 1205
  2339. 46050 GetOut = ZTrue
  2340.       RETURN 10597
  2341.